This service is optional, if you wish to use Proxy Rotator - contact your Account Manager to receive a domain.
Instead of connecting to individual IPs, we provide you with a single endpoint to your assigned proxy list. With every request, the endpoint fetches a different IP. Please see the example below to learn how to use the endpoint as a proxy.
The vm.oxylabs.io domain is an example only. Contact your Account Manager to get a domain forwarded to you.
Proxy Rotator should be used only with port 60000
.
Code examples
cURL PHP Python C#
Copy curl -x vm.oxylabs.io:60000 -U user1:pass1 https://ip.oxylabs.io/location
Copy <? php
$query = curl_init ( 'https://ip.oxylabs.io/location' ) ;
curl_setopt ( $query , CURLOPT_RETURNTRANSFER , 1 ) ;
curl_setopt ( $query , CURLOPT_PROXY , 'http://vm.oxylabs.io:60000' ) ;
curl_setopt ( $query , CURLOPT_PROXYUSERPWD , "username:password" ) ;
$output = curl_exec ( $query ) ;
curl_close ( $query ) ;
if ($output) {
echo $output;
}
Copy import requests
response = requests . get (
'https://ip.oxylabs.io/location' ,
proxies = { 'http' : 'http://user1:pass1@vm.oxylabs.io:60000' ,
'https' : 'http://user1:pass1@vm.oxylabs.io:60000' }
)
print (response.text)
Copy using System ;
using System . Net ;
class Example
{
static void Main ()
{
var proxy = new WebProxy
{
Address = new Uri ( $"http://vm.oxylabs.io:60000" ) ,
BypassProxyOnLocal = false ,
UseDefaultCredentials = false ,
Credentials = new NetworkCredential ( "username" , "password" )
};
var handler = new HttpClientHandler
{
Proxy = proxy ,
};
HttpClient client = new HttpClient (handler);
var task = Task . Run ( async () =>
{
var response = await client . GetAsync ( "https://ip.oxylabs.io/location" );
var content = response . Content ;
var result = await content . ReadAsStringAsync ();
return result;
});
task . Wait ();
Console . WriteLine ( task . Result );
}
}
Session Control Using Proxy Rotator
It is possible to keep the same IP address with the Proxy Rotator. Firstly, you will need to know how many proxies your Proxy Rotator has. Then add the --proxy-header "Proxy-Server: sXXX"
header to your request, where sXXX
is the number of the proxy, for example, s5
or s2541
.
Code examples
cURL PHP Python C#
Copy user1@machine:~$ curl -x vm.oxylabs.io:60000 -U user1:pass1 https://ip.oxylabs.io/location --proxy-header "Proxy-Server: s10"
1.2.30.40
user1@machine:~$ curl -x vm.oxylabs.io:60000 -U user1:pass1 https://ip.oxylabs.io/location --proxy-header "Proxy-Server: s10"
1.2.30.40
user1@machine:~$ curl -x vm.oxylabs.io:60000 -U user1:pass1 https://ip.oxylabs.io/location --proxy-header "Proxy-Server: s10"
1.2.30.40
Copy <? php
$query = curl_init ( 'https://ip.oxylabs.io/location' ) ;
curl_setopt ( $query , CURLOPT_RETURNTRANSFER , 1 ) ;
curl_setopt ( $query , CURLOPT_PROXY , 'http://vm.oxylabs.io:60000' ) ;
curl_setopt ( $query , CURLOPT_PROXYUSERPWD , "username:password" ) ;
curl_setopt ( $query , CURLOPT_PROXYHEADER , [
"Proxy-Server: s10" ,
] ) ;
$output = curl_exec ( $query ) ;
curl_close ( $query ) ;
if ($output) {
echo $output;
}
Copy import requests
class ProxyAdapter ( requests . adapters . HTTPAdapter ):
def proxy_headers ( self , proxy ):
headers = super (ProxyAdapter, self). proxy_headers (proxy)
headers [ 'Proxy-Server' ] = 's10'
return headers
s = requests . Session ()
s . proxies = { 'http' : 'http://username:password@vm.oxylabs.io:60000' ,
'https' : 'http://username:password@vm.oxylabs.io:60000' }
s . mount ( 'http://' , ProxyAdapter ())
s . mount ( 'https://' , ProxyAdapter ())
response = s . get ( 'https://ip.oxylabs.io/location' )
print (response.text)
Copy using System ;
using System . Net ;
class Example
{
static void Main ()
{
var client = new WebClient ();
client . Proxy = new WebProxy ( "http://vm.oxylabs.io:60000" );
client . Proxy . Credentials = new NetworkCredential ( "user1" , "pass1" );
client . Headers . Add ( "Proxy-Server" , "s10" );
Console . WriteLine ( client . DownloadString ( "https://ip.oxylabs.io/location" ));
}
}
Last updated 7 months ago