Documentation has been updated: see help center and changelog in one place.
Explore
LogoLogo
Oxylabs dashboardProduct
中文
  • Documentation
  • Help center
  • Changelog
中文
  • 总览
  • 代理
    • 集成教程
      • 动态住宅代理教程
        • AdsPower
        • Android
        • BitBrowser(比特浏览器)
        • ClonBrowser
        • Ghost Browser
        • Helium Scraper
        • Hubstudio
        • Incogniton
        • Kameleo
        • MuLogin
        • Multilogin
        • Octoparse
        • Oxy® Proxy 的 Chrome 代理扩展程序
        • ParseHub
        • Playwright
        • Puppeteer
        • Selenium
        • SwitchyOmega
        • Shadowrocket
        • VMLogin
        • VMMask
        • WebHarvy
      • 动态移动代理教程
        • AdsPower
        • Android
        • BitBrowser(比特浏览器)
        • ClonBrowser
        • Ghost Browser
        • Helium Scraper
        • Hubstudio
        • Incogniton
        • Kameleo
        • MuLogin
        • Multilogin
        • Octoparse
        • Oxy® Proxy 的 Chrome 代理扩展程序
        • ParseHub
        • Playwright
        • Puppeteer
        • Selenium
        • SwitchyOmega
        • Shadowrocket
        • VMLogin
        • VMMask
        • WebHarvy
      • 静态数据中心代理教程
        • BitBrowser(比特浏览器)
        • FoxyProxy
        • Hubstudio
        • MuLogin
        • Oxy® 代理管理器
        • Proxifier
        • SwitchyOmega
        • VMMask
      • 动态数据中心代理集成教程
        • AdsPower
        • Hubstudio
        • MuLogin
        • VMMask
    • 静态数据中心代理
      • 企业
        • 入门指南
        • 代理列表
        • 提出请求
        • 企业-协议
        • 将 IP 列入白名单
          • 仪表板
          • RESTful
            • 获取白名单 IP 列表
            • 添加白名单 IP
            • 移除白名单的 IP
            • 正在保存更改(5 分钟冷却时间)
        • 数据中心代理 API
        • 代理轮换工具 - 可选
          • 使用代理轮换工具的会话控制
        • 响应代码
      • 自助服务
        • 入门指南
        • 发起请求
        • 代理列表
        • 代理轮换
        • 位置设置
        • 协议
        • 响应代码
        • 受限目标
    • ISP代理
      • 入门指南
      • 发起请求
      • 代理列表
      • 代理轮换
      • 位置设置
      • 协议
      • 响应代码
      • 受限目标
    • 住宅代理
      • 入门指南
      • 反向连接入口节点
        • 中国入口节点
      • 基本查询
      • 协议
      • 选择国家/地区
      • 选择州
      • 选择城市
      • 选择大洲
      • 会话控制
      • 具体国家/地区的入口节点
      • 端点生成器
      • 其他信息
      • 受限目标网站
      • 公共 API
    • 移动代理
      • 入门指南
      • 反向连接入口节点
        • 中国入口节点
      • 基本查询
      • 协议
      • 选择国家/地区
      • 选择大洲
      • 会话控制
      • 具体国家/地区的入口节点
      • 端点生成器
      • 其他信息
      • 受限目标网站
      • 公共 API
    • 数据中心代理
      • 代理列表
      • IP控制
      • 选择国家
      • 协议
      • 白名单
      • 响应代码
      • 受限目标
      • 公平使用政策
    • (传统!)动态数据中心代理
      • 入门指南
      • 提出请求
      • 选择国家/地区
      • 会话控制
      • 响应代码
      • 受限目标网站
  • 高级代理解决方案
    • 网页解锁器
      • 开始使用
      • 提出请求
        • 会话
        • 地理位置
        • 标头
        • Cookie
        • 自定义状态代码
        • POST 请求
        • JavaScript 渲染
      • 样例响应
      • 用量统计数据
  • 爬虫API
    • 入门
      • API 参考
        • 集成方法
          • Realtime
          • 推拉
          • 代理端口
        • 身份验证
        • 全局参数值
        • 响应代码
        • 用量统计
      • Postman
    • 电商爬虫 API
      • Amazon
        • 参数值
        • 结构化数据
      • Google Shopping
        • 参数值1
        • 结构化数据
      • AliExpress
      • 其他域名
        • 参数值
        • 下载图片
    • SERP 爬虫 API
      • Google
        • 参数值
        • 结构化数据
      • Bing
        • 参数值
      • 其他搜索引擎
    • 网络爬虫 API
      • 其他域名
        • 参数值
        • 下载图片
    • 任务管家 (Scheduler)
    • 自定义解析器 (Custom Parser)
      • 入门
      • 解析指令的示例
      • 函数列表
        • 函数示例
    • 无头浏览器 (Headless Browser)
      • JavaScript 渲染
      • 浏览器指令(测试版)
        • 指令列表
  • 有用链接
    • Oxylabs 仪表板
    • Discord社群
    • GitHub
  • 常见问题
  • 支持
    • 需要帮助?
Powered by GitBook
On this page

Was this helpful?

  1. 代理
  2. ISP代理

代理轮换

自助服务的静态数据中心代理支持代理轮换。要使用此功能,您需要将端口号更改为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);
Previous代理列表Next位置设置

Last updated 10 months ago

Was this helpful?