代理轮换
自助服务的静态数据中心代理支持代理轮换。要使用此功能,您需要将端口号更改为8000
。每次新的请求,您将从代理列表中随机获得一个IP。
代码示例
curl -x isp.oxylabs.io:8000 -U "user-USERNAME:PASSWORD" https://ip.oxylabs.io/location
import requests
username = 'USERNAME'
password = 'PASSWORD'
proxy = 'isp.oxylabs.io:8000'
proxies = {
"https": ('https://user-%s:%s@%s' % (username, password, proxy))
}
response=requests.get("https://ip.oxylabs.io/location", proxies=proxies)
print(response.content)
const axios = require("axios");
const https = require("https");
const client = axios.create({
httpsAgent: new https.Agent({
rejectUnauthorized: false,
}),
});
const username = 'USERNAME';
const password = 'PASSWORD'
client
.get("https://ip.oxylabs.io/location", {
proxy: {
protocol: "https",
host: "ddc.oxylabs.io",
port: 8000,
auth: {
username: `user-${username}`,
password: password,
},
},
})
.then((res) => {
console.log(res.data);
})
.catch((err) => console.error(err));
<?php
$username = 'USERNAME';
$password = 'PASSWORD';
$proxy = 'https://isp.oxylabs.io:8000';
$target = 'https://ip.oxylabs.io/location';
$request = curl_init($target);
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($request, CURLOPT_PROXY, $proxy);
curl_setopt($request, CURLOPT_PROXYUSERPWD, "user-$username:$password");
$responseBody = curl_exec($request);
$error = curl_error($request);
curl_close($request);
if ($responseBody !== false) {
echo 'Response: ' . $responseBody;
} else {
echo 'Failed to connect to proxy: ' . $error;
}
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
username, password, entry := "USERNAME", "PASSWORD", "isp.oxylabs.io:8000"
proxy, err := url.Parse(fmt.Sprintf("https://user-%s:%s@%s", username, password, entry))
if err != nil {
panic(err)
}
transport := &http.Transport{
Proxy: http.ProxyURL(proxy),
}
client := &http.Client{Transport: transport}
target := "https://ip.oxylabs.io/location"
response, err := client.Get(target)
if err != nil {
panic(err)
}
defer response.Body.Close()
body, err := io.ReadAll(response.Body)
if err != nil {
panic(err)
}
fmt.Println("Response:")
fmt.Println(string(body))
}
package com.example;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Base64;
import org.apache.hc.client5.http.fluent.Request;
import org.apache.hc.core5.http.HttpHost;
public class App {
public static void main(String[] args) throws IOException, URISyntaxException {
String target = "http://ip.oxylabs.io/location";
String username = "USERNAME";
String password = "PASSWORD";
String proxy = "isp.oxylabs.io:8000";
URI proxyURI = new URI(String.format("https://user-%s:%s@%s", username, password, proxy));
String basicAuth = new String(
Base64.getEncoder()
.encode(
proxyURI.getUserInfo().getBytes()));
String response = Request.get(target)
.addHeader("Proxy-Authorization", "Basic " + basicAuth)
.viaProxy(HttpHost.create(proxyURI))
.execute().returnContent().asString();
System.out.println(response);
}
}
using System.Net;
// .NET currently does not support HTTPS proxies
var proxy = new WebProxy {
Address = new Uri("http://isp.oxylabs.io:8000"),
Credentials = new NetworkCredential(
userName: "user-USERNAME",
password: "PASSWORD"
)
};
var httpClientHandler = new HttpClientHandler {Proxy = proxy};
using var client = new HttpClient(handler: httpClientHandler, disposeHandler: true);
var result = await client.GetStringAsync("https://ip.oxylabs.io/location");
Console.WriteLine(result);
如果您提供一个国家参数,IP将从指定的国家池中选择。例如,如果您只想轮换您的美国代理池,请使用参数 country-
并在您的用户字符串中添加两个字母的国家代码 country-US
。
代码示例
curl -x 'https://isp.oxylabs.io:8000' -U 'user-USERNAME-country-COUNTRY:PASSWORD' 'https://ip.oxylabs.io/location'
import requests
username = 'USERNAME'
password = 'PASSWORD'
country = 'COUNTRY'
proxy = 'ddc.oxylabs.io:8001'
proxies = {
"https": ('https://user-%s-country-%s:%s@%s' % (username, country, password, proxy))
}
response=requests.get("https://ip.oxylabs.io/location", proxies=proxies)
print(response.content)
const axios = require("axios");
const https = require("https");
const client = axios.create({
httpsAgent: new https.Agent({
rejectUnauthorized: false,
}),
});
const username = 'USERNAME';
const country = 'COUNTRY'
const password = 'PASSWORD'
client
.get("https://ip.oxylabs.io/location", {
proxy: {
protocol: "https",
host: "ddc.oxylabs.io",
port: 8000,
auth: {
username: `user-${username}-country-${country}`,
password: password,
},
},
})
.then((res) => {
console.log(res.data);
})
.catch((err) => console.error(err));
<?php
$username = 'USERNAME';
$country = 'COUNTRY';
$password = 'PASSWORD';
$proxy = 'https://ddc.oxylabs.io:8000';
$target = 'https://ip.oxylabs.io/location';
$request = curl_init($target);
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($request, CURLOPT_PROXY, $proxy);
curl_setopt($request, CURLOPT_PROXYUSERPWD, "user-$username-country-$country:$password");
$responseBody = curl_exec($request);
$error = curl_error($request);
curl_close($request);
if ($responseBody !== false) {
echo 'Response: ' . $responseBody;
} else {
echo 'Failed to connect to proxy: ' . $error;
}
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
username, country, password, entry := "USERNAME", "COUNTRY", "PASSWORD", "ddc.oxylabs.io:8000"
proxy, err := url.Parse(fmt.Sprintf("https://user-%s-country-%s:%s@%s", username, country, password, entry))
if err != nil {
panic(err)
}
transport := &http.Transport{
Proxy: http.ProxyURL(proxy),
}
client := &http.Client{Transport: transport}
target := "https://ip.oxylabs.io/location"
response, err := client.Get(target)
if err != nil {
panic(err)
}
defer response.Body.Close()
body, err := io.ReadAll(response.Body)
if err != nil {
panic(err)
}
fmt.Println("Response:")
fmt.Println(string(body))
}
package com.example;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Base64;
import org.apache.hc.client5.http.fluent.Request;
import org.apache.hc.core5.http.HttpHost;
public class App {
public static void main(String[] args) throws IOException, URISyntaxException {
String targetUrl = "http://ip.oxylabs.io/location";
String username = "USERNAME";
String country = "COUNTRY";
String password = "PASSWORD";
String proxy = "ddc.oxylabs.io:8000";
URI proxyURI = new URI(String.format("https://user-%s-country-%s:%s@%s", username, country, password, proxy));
String basicAuth = new String(
Base64.getEncoder()
.encode(
proxyURI.getUserInfo().getBytes()));
String response = Request.get(targetUrl)
.addHeader("Proxy-Authorization", "Basic " + basicAuth)
.viaProxy(HttpHost.create(proxyURI))
.execute().returnContent().asString();
System.out.println(response);
}
}
using System.Net;
// .NET currently does not support HTTPS proxies
var proxy = new WebProxy {
Address = new Uri("http://ddc.oxylabs.io:8001"),
Credentials = new NetworkCredential(
userName: "user-USERNAME-country-COUNTRY",
password: "PASSWORD"
)
};
var httpClientHandler = new HttpClientHandler {Proxy = proxy};
using var client = new HttpClient(handler: httpClientHandler, disposeHandler: true);
var result = await client.GetStringAsync("https://ip.oxylabs.io/location");
Console.WriteLine(result);
Last updated