Making Requests
Basic query only requires passing
username
and password
. No other parameters are needed. Such a query will result in the request being made from a random IP address (proxy). Every new request will use a different proxy.In this example, a query to
ip.oxylabs.io
is performed from a random IP:cURL
PHP
Python
Java
C#
Ruby
curl -x pr.oxylabs.io:7777 -U "customer-USERNAME:PASSWORD" https://ip.oxylabs.io
<?php
$username = 'USERNAME';
$password = 'PASSWORD';
$proxy = 'pr.oxylabs.io:7777';
$query = curl_init('https://ip.oxylabs.io');
curl_setopt($query, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($query, CURLOPT_PROXY, "http://$proxy");
curl_setopt($query, CURLOPT_PROXYUSERPWD, "customer-$username:$password");
$output = curl_exec($query);
curl_close($query);
if ($output)
echo $output;
?>
import urllib.request
import random
username = 'USERNAME'
password = 'PASSWORD'
entry = ('http://customer-%s:%[email protected]:7777' %
(username, password))
query = urllib.request.ProxyHandler({
'http': entry,
'https': entry,
})
execute = urllib.request.build_opener(query)
print(execute.open('https://ip.oxylabs.io').read())
package example;
import org.apache.http.HttpHost;
import org.apache.http.client.fluent.*;
public class Example {
public static void main(String[] args) throws Exception {
HttpHost entry = new HttpHost("pr.oxylabs.io", 7777);
String query = Executor.newInstance()
.auth(entry, "customer-USERNAME", "PASS")
.execute(Request.Get("http://ip.oxylabs.io").viaProxy(entry))
.returnContent().asString();
System.out.println(query);
}
}
using System;
using System.Net;
class Example
{
static void Main()
{
var client = new WebClient();
client.Proxy = new WebProxy("pr.oxylabs.io:7777");
client.Proxy.Credentials = new NetworkCredential("customer-USERNAME", "PASSWORD");
Console.WriteLine(client.DownloadString("https://ip.oxylabs.io"));
}
c
require 'uri'
require 'net/http'
uri = URI.parse('https://ip.oxylabs.io/')
proxy = Net::HTTP::Proxy('pr.oxylabs.io', 7777, 'customer-USERNAME', 'PASSWORD')
req = Net::HTTP::Get.new(uri.path)
result = proxy.start(uri.host,uri.port) do |http|
http.request(req)
end
puts result.body
A single backconnect proxy (
pr.oxylabs.io:7777)
enables you to choose a specific country or city proxy via additional parameters in the username. This approach also supports session control. Here is a sample of credentials:customer-USERNAME-cc-US-city-CITY-sessid-abcde12345:PASSWORD
customer-USERNAME-cc-US-city-CITY-sessid-abcde12345-sesstime:5:PASSWORD
Below is a breakdown of the structure:
%20(1)%20(2).jpg?alt=media)
Parameter | Description |
---|---|
customer | Username |
cc | Case insensitive country code in 2-letter 3166-1 alpha-2 format. For example, DE for Germany, GB for the United Kingdom, TH for Thailand. You can find more details on how to use country-specific proxies here. |
city | Case insensitive city name in English. This parameter must be accompanied by cc for better accuracy, for example, cc-GB-city-london for London, United Kingdom; cc-DE-city-berlin for Berlin, Germany. For a city with more than two words, replace space with _ , for example, city-st_petersburg or city-rio_de_janeiro . Click here for more information on city-level targeting. |
st | Case insensitive US state name with us_ in the beginning, for example, us_california , us_illinois . Download the full list of supported states below this table. |
sessid | Session ID to keep the same IP with upcoming queries. The session expires in 10 minutes. After that, a new IP address is assigned to that session ID. Random string, 0-9, and A-Z characters are supported. |
sesstime | The session time parameter keeps the same IP for a certain period. The maximum session time is 30 minutes. |
password | Password |
- required parameter
Last modified 1mo ago