Skip to content

基础配置

本页面详细介绍AdminCloud代理的基础配置方法,帮助您快速集成和使用我们的服务。所有配置都基于实际的服务器实现。

服务器信息

代理服务器

主机地址: gtx.paopaous.net
端口: 38082

支持的协议

  • HTTP/HTTPS: 标准网页代理协议
  • SOCKS5: 更底层的网络协议支持

认证配置详解

基础认证格式

用户名:参数:值-参数:值:密码

正确的格式说明

  • 第一部分: 您的用户名
  • 中间部分: 参数配置,格式为 参数:值,多个参数用 - 连接
  • 最后一部分: 您的密码

实际示例

bash
# 基础格式
username:ip:res-c:US:proxy_password

# 带会话ID
username:ip:res-c:US-sid:123:proxy_password

# 带多个参数
username:ip:res-c:US-state:CA-city:LA-sid:456:proxy_password

参数详细说明

参数说明可选值示例
username您的用户名-john_doe
ip固定标识符ipip
res产品类型res, static, dcres (动态住宅)
c国家代码前缀c, countryc
US国家代码2-3位大写US, UK, JP, DE
sid会话ID任意数字123, 456, 789
state州/省州名CA, NY
city城市城市名LA, NYC

高级参数配置

1. 基础参数组合

bash
# 最小配置
用户名:ip:res-c:US:密码

# 带会话保持
用户名:ip:res-c:US-sid:12345:密码

# 带地理位置细分
用户名:ip:res-c:US-state:CA-city:LA:密码

2. 完整参数组合

bash
# 完整配置示例
username:ip:res-c:US-state:CA-city:LA-sid:12345-rotate:false:proxy_password

# 静态住宅代理
username:ip:static-c:UK-sid:67890:proxy_password

# 数据中心代理
username:ip:dc-c:DE-sid:11111:proxy_password

配置方式详解

方式1:基础HTTP代理

Curl示例

bash
# 基础配置
curl -x gtx.paopaous.net:38082 \
  --proxy-user "username:ip:res-c:US:proxy_password" \
  -L https://httpbin.org/ip

# 带会话ID
curl -x gtx.paopaous.net:38082 \
  --proxy-user "username:ip:res-c:US-sid:123:proxy_password" \
  -L https://httpbin.org/ip

# 带地理位置细分
curl -x gtx.paopaous.net:38082 \
  --proxy-user "username:ip:res-c:US-state:CA-city:LA-sid:456:proxy_password" \
  -L https://httpbin.org/ip

SOCKS5代理

bash
# SOCKS5格式
curl -x "socks5h://gtx.paopaous.net:38082" \
  --proxy-user "username:ip:res-c:US-sid:123:proxy_password" \
  -L https://httpbin.org/ip

方式2:HTTP Header参数

bash
# 使用Header传递参数
curl -x gtx.paopaous.net:38082 \
  --proxy-user "username:proxy_password" \
  -H "X-Proxy-Country: US" \
  -H "X-Proxy-Product: res" \
  -H "X-Proxy-Sticky: 123" \
  -L https://httpbin.org/ip

方式3:URL Query参数

bash
# 使用Query参数
curl -x gtx.paopaous.net:38082 \
  --proxy-user "username:proxy_password" \
  "https://httpbin.org/ip?country=US&product=res&sticky=123"

高级参数配置

1. 地理位置细分

州/省支持

支持美国各州和其他国家省份:

  • 美国州: CA (加利福尼亚), NY (纽约), TX (德克萨斯), FL (佛罗里达)
  • 中国省份: Beijing, Shanghai, Guangdong, Zhejiang
  • 其他国家: Ontario (加拿大), Bavaria (德国), New South Wales (澳大利亚)

城市支持

支持主要城市细分:

  • 美国城市: Los Angeles, New York, Chicago, Houston
  • 中国城市: Beijing, Shanghai, Shenzhen, Guangzhou
  • 国际城市: London, Paris, Tokyo, Sydney

2. 会话管理

标准会话保持

  • 保持时间: 30分钟
  • 适用产品: 动态住宅代理
  • 使用方式: 在认证字符串中添加 sid:会话ID

长会话保持

  • 保持时间: 1小时
  • 适用产品: 静态住宅代理
  • 使用方式: 在认证字符串中添加 sid:会话ID

3. 网络运营商选择

支持指定特定网络运营商的IP:

  • 功能: 通过ASN号选择特定ISP
  • 查询: 可通过在线ASN查询工具获取ASN编号
  • 格式: 在认证字符串中添加 asn:ASN编号

地理位置配置

国家代码支持

支持200+国家/地区,主要国家代码:

代码国家代码国家
US美国GB英国
CA加拿大DE德国
AU澳大利亚FR法国
JP日本NL荷兰
SG新加坡IT意大利
ES西班牙SE瑞典

地理细分参数

支持更精细的地理位置控制:

bash
# 指定州/省
myuser-ip:res-c:US-state:CA:your_password_here

# 指定城市
myuser-ip:res-c:US-city:LA:your_password_here

# 指定ISP
myuser-ip:res-c:US-isp:comcast:your_password_here

# 指定ASN
myuser-ip:res-c:US-asn:AS7922:your_password_here

会话管理

会话保持

bash
# 简单会话ID
myuser-ip:res-c:US-sticky:sid12345:your_password_here

# 自定义会话标识
myuser-ip:res-c:US-session:mysession:your_password_here

轮换控制

bash
# 启用轮换(默认)
myuser-ip:res-c:US-rotate:true:your_password_here

# 禁用轮换
myuser-ip:res-c:US-rotate:false:your_password_here

# 简写形式
myuser-ip:res-c:US-rotate:your_password_here
myuser-ip:res-c:US-no-rotate:your_password_here

编程语言实现

Python完整示例

python
import requests
import base64

class AdminCloudProxy:
    def __init__(self, username, password):
        self.username = username
        self.password = password
        self.proxy_host = "gtx.paopaous.net"
        self.proxy_port = 38082
    
    def build_auth_string(self, **kwargs):
        """构建认证字符串:用户名:参数:值-参数:值:密码"""
        # 基础参数
        params = ["ip", "res", "c", "US"]  # 默认值
        
        # 添加额外参数
        for key, value in kwargs.items():
            if key == "sid":
                params.extend(["sid", str(value)])
            elif key == "state":
                params.extend(["state", value])
            elif key == "city":
                params.extend(["city", value])
            elif key == "product":
                params[1] = value  # 替换产品类型
            elif key == "country":
                params[3] = value  # 替换国家代码
        
        # 构建认证字符串
        auth_parts = [self.username]
        for i in range(0, len(params), 2):
            if i + 1 < len(params):
                if i == 0:
                    auth_parts.append(f"{params[i]}:{params[i+1]}")
                else:
                    auth_parts.append(f"-{params[i]}:{params[i+1]}")
        auth_parts.append(self.password)
        
        return "".join(auth_parts)
    
    def get_proxies(self, protocol="http", **kwargs):
        auth_string = self.build_auth_string(**kwargs)
        
        if protocol.lower() == "socks5":
            return {
                "http": f"socks5://{self.proxy_host}:{self.proxy_port}",
                "https": f"socks5://{self.proxy_host}:{self.proxy_port}"
            }
        else:
            return {
                "http": f"http://{self.proxy_host}:{self.proxy_port}",
                "https": f"http://{self.proxy_host}:{self.proxy_port}"
            }
    
    def request(self, url, method="GET", **kwargs):
        auth_string = self.build_auth_string(**kwargs)
        proxies = self.get_proxies(**kwargs)
        
        headers = kwargs.get("headers", {})
        headers["Proxy-Authorization"] = f"Basic {base64.b64encode(auth_string.encode()).decode()}"
        
        response = requests.request(method, url, proxies=proxies, headers=headers, timeout=30)
        return response

# 使用示例
proxy = AdminCloudProxy("username", "proxy_password")

# 基础请求
response = proxy.request("https://httpbin.org/ip")
print(response.json())

# 带会话ID
response = proxy.request("https://httpbin.org/ip", sid=123)
print(response.json())

# 带地理位置细分
response = proxy.request("https://httpbin.org/ip", 
                        country="US", 
                        state="CA", 
                        city="LA", 
                        sid=456)
print(response.json())

Node.js完整示例

javascript
const axios = require('axios');
const { SocksProxyAgent } = require('socks-proxy-agent');

class AdminCloudProxy {
    constructor(username, password) {
        this.username = username;
        this.password = password;
        this.proxyHost = 'gtx.paopaous.net';
        this.proxyPort = 38082;
    }
    
    buildAuthString(params = {}) {
        // 构建认证字符串:用户名:参数:值-参数:值:密码
        let authParts = [this.username];
        
        // 基础参数
        let paramList = ['ip', params.product || 'res', 'c', params.country || 'US'];
        
        // 添加额外参数
        if (params.sid) {
            paramList.push('sid', params.sid.toString());
        }
        if (params.state) {
            paramList.push('state', params.state);
        }
        if (params.city) {
            paramList.push('city', params.city);
        }
        
        // 构建认证字符串
        for (let i = 0; i < paramList.length; i += 2) {
            if (i + 1 < paramList.length) {
                if (i === 0) {
                    authParts.push(`${paramList[i]}:${paramList[i + 1]}`);
                } else {
                    authParts.push(`-${paramList[i]}:${paramList[i + 1]}`);
                }
            }
        }
        authParts.push(this.password);
        
        return authParts.join('');
    }
    
    async request(url, options = {}) {
        const protocol = options.protocol || 'http';
        const params = options.params || {};
        
        const authString = this.buildAuthString(params);
        const base64Auth = Buffer.from(authString).toString('base64');
        
        const config = {
            method: options.method || 'GET',
            url,
            timeout: 30000,
            headers: {
                'Proxy-Authorization': `Basic ${base64Auth}`,
                ...options.headers
            }
        };
        
        if (protocol.toLowerCase() === 'socks5') {
            const proxyUrl = `socks5://${this.proxyHost}:${this.proxyPort}`;
            config.httpsAgent = new SocksProxyAgent(proxyUrl);
            config.httpAgent = new SocksProxyAgent(proxyUrl);
        } else {
            config.proxy = {
                protocol: 'http',
                host: this.proxyHost,
                port: this.proxyPort
            };
        }
        
        return await axios(config);
    }
}

// 使用示例
const proxy = new AdminCloudProxy('username', 'proxy_password');

// 基础请求
proxy.request('https://httpbin.org/ip')
    .then(response => console.log(response.data))
    .catch(error => console.error(error));

// 带会话ID
proxy.request('https://httpbin.org/ip', {
    params: { sid: 123 }
})
    .then(response => console.log(response.data))
    .catch(error => console.error(error));

// 带地理位置细分
proxy.request('https://httpbin.org/ip', {
    params: { 
        country: 'US', 
        state: 'CA', 
        city: 'LA', 
        sid: 456 
    }
})
    .then(response => console.log(response.data))
    .catch(error => console.error(error));

错误处理

常见错误及解决方案

407 Proxy Authentication Required

原因: 认证信息错误或格式不正确 解决: 检查用户名和密码格式,确保参数正确

python
import requests

def test_authentication():
    # 测试不同的认证格式
    test_configs = [
        # 正确格式
        {"user": "myuser-ip:res-c:US", "pass": "your_password_here"},
        # 错误格式 - 缺少参数
        {"user": "myuser", "pass": "your_password_here"},
        # 错误格式 - 参数顺序错误
        {"user": "myuser-c:US-ip:res", "pass": "your_password_here"},
    ]
    
    for config in test_configs:
        try:
            proxies = {
                "http": f"http://{config['user']}:{config['pass']}@gtx.paopaous.net:38082",
                "https": f"http://{config['user']}:{config['pass']}@gtx.paopaous.net:38082"
            }
            
            response = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10)
            print(f"✅ 认证成功: {config['user']}")
            
        except requests.exceptions.ProxyError as e:
            print(f"❌ 认证失败: {config['user']} - {e}")
        except Exception as e:
            print(f"❌ 其他错误: {config['user']} - {e}")

test_authentication()

下一步:高级设置

基于 MIT 许可发布