Conecta SotaProxy a tu stack
Guías paso a paso para Python, Playwright, Puppeteer, Selenium, cURL y navegadores antidetect. Copia, pega, ejecuta.
Desarrollo
Navegador antidetección
También funciona con
The twelve pages below describe the same thing: a host, a port and a login. What changes is where you put that string and what the library does with connections afterwards. If the tool is already chosen, open its page. If it is not, this is the shorter route.
One string, twelve places to put it
Rotation and sticky sessions go through the shared gateway: host proxy.sotaproxy.com, port 10000, with country, city, session number and lifetime set as suffixes on the login. Static addresses, both ISP and datacenter, take no suffixes: there the host is the IP issued to you, the port is 50100, and SOCKS5 sits on 50101.
Everything else is a question of which field a particular library wants those three things in. In curl it is a flag, in requests a dictionary, in Playwright an object on the browser context, in an antidetect browser a field in the profile settings.
So if the string works in curl, it works everywhere. That is also the order to debug in: curl first, library second. Otherwise you are debugging somebody else’s code instead of your own configuration.
What actually differs between libraries
The difference is not syntax but four things that surface after the first request has already gone through.
- Connection reuse. A library holding keep-alive stays on the same exit longer than you expected from rotation. If you need a new address per request, connections have to be closed explicitly.
- Who resolves domain names. With SOCKS5 the name can be resolved by the client or by the proxy, and those are different things: in the first case your DNS query leaves outside the proxy and exposes your real network.
- The TLS fingerprint. A library and a browser look different before the target ever looks at the address. The address is irrelevant there, and changing it achieves nothing when the refusal arrives at the handshake.
- Where authentication lives. Some tools take the login and password only in the URL, some only in a separate header, and some cannot do SOCKS5 authentication at all. Most first-connection 407s come from this.
Antidetect browsers are their own case
Here the proxy is set per profile rather than per request, and that changes the requirements.
The sticky session lifetime has to outlast the profile session. If the session expires first, the profile changes address mid-run, which stands out more than never changing at all.
Profile timezone and language are configured from the exit city rather than from your own. On timezones it is worth reading the page for the country in question: in Mexico and Russia the spread inside one country runs to hours, and in Morocco the zone moves on the lunar calendar.
One profile means one address. Two profiles on one address make sense only if you are deliberately modelling two people behind one home connection.
Questions about connecting
Where should debugging start?
With curl. If the connection string works there, what you debug next is the library rather than access. The reverse order usually ends in reading other people’s issue threads.
Why do I get a 407?
Almost always because of where authentication sits: some tools accept it only in the URL, some only as a separate header, and some cannot do it over SOCKS5.
Why does the address not change although rotation is on?
The library is holding the connection open. Rotation happens on a new connection, so keep-alive has to be closed explicitly.
Does an antidetect browser need a separate plan?
No, these are the same addresses. The only difference is that the proxy is set per profile and the session lifetime has to outlast the profile session.
What if the refusal arrives before any server response?
Look at the client rather than the address. A library and a browser have different TLS fingerprints, and changing country solves nothing there.