The easiest and most secure authentication method is IP Authentication. To use it:
- Add your IP from your account dashboard
That's it! Now any requests you make to a proxy server from the IPs that you've added will successfully authenticate.
Note: There is no limit on authenticated IPs. Although your dashboard form has room for only a few entries, once you submit an entry you can fill in the form again to add more.
Please note that after you add an IP to your account, it should be authorized at the servers within a few minutes. Be sure you do this first before you make requests from that IP to avoid a temporary block.
If for any reason IP authentication fails, it could be that your IP has changed. You can update your IPs again from your account dashboard. However, if your access is temporarily blocked because of too many
407 errors (indicating incorrect authentication), be aware that an IP update performed during a ban does not immediately lift the ban. You will need to wait until the ban expires, typically after 4 hours.
IP Authentication for Multiple Accounts
The system does not allow the same IP to be authenticated for multiple accounts. An attempt to do so will trigger a message that the IP is already in the system.
An authenticated IP becomes a primary key in the ProxyMesh database and is not unique to a single account. With multiple accounts authorizing the same IP, a proxy server could not determine which account was making a request.
If you have a dynamic, frequently changing IP, then you may want to use domain authentication with a dynamic DNS service such as No-IP. Once you have dynamic DNS setup, you can add your domain on the same page where you add IP addresses. Domains are resolved every 10 minutes, causing a potential lag between the DNS IP change, and ProxyMesh's receipt of the update, but this method can work well for you.
The typical HTTP proxy authentication method is with the
Proxy-Authorization header using the Basic access authentication method. Most HTTP client libraries support this authentication method. But if you need to create the header yourself, the steps are
- Base64 encode your username:password
- Send a header that looks like
Proxy-Authorization: Basic base64-encoded-username:password
Although Python Requests supports username:password authentication with HTTPS URLs, most other libraries do not. The reason is that the
Proxy-Authorization header must be sent with the initial
CONNECT method, instead of with the rest of the request headers. Otherwise there is no way for the proxy server to read the header.
For HTTPS requests, IP authentication is the most reliable method. For additional details, please see Proxy Server Requests over HTTPS.