跳转到正文

Python 接入 ​

使用已分配的静态端点发送请求。示例从进程环境读取连接信息,默认通过 HTTP 代理服务器访问 HTTPS 目标,不包含提取 IP 或轮换逻辑。

接入准备 ​

在运行程序的终端、容器或部署平台中设置 PROXY_HOST、PROXY_PORT、PROXY_USERNAME、PROXY_PASSWORD。值来自后台当前连接信息;端口必须与协议对应。不要将实际密码提交到代码仓库、输出到日志或放入前端代码。

运行条件与依赖 ​

Python 3 与 requests;安装带 SOCKS 支持的依赖后,将代码保存为 proxy_example.py。

sh
python -m pip install "requests[socks]"
python proxy_example.py

配置步骤 ​

python
import os
from urllib.parse import quote
import requests

host = os.environ["PROXY_HOST"].strip("[]")
port = int(os.environ["PROXY_PORT"])
user = quote(os.environ["PROXY_USERNAME"], safe="")
password = quote(os.environ["PROXY_PASSWORD"], safe="")
scheme = os.environ.get("PROXY_SCHEME", "http")
if scheme not in {"http", "socks5h"}:
    raise ValueError("PROXY_SCHEME must be http or socks5h")
host = f"[{host}]" if ":" in host else host
proxy_url = f"{scheme}://{user}:{password}@{host}:{port}"

try:
    with requests.Session() as session:
        session.trust_env = False
        session.proxies = {"http": proxy_url, "https": proxy_url}
        response = session.get("https://ip123.in/ip.json", timeout=(10, 30))
        response.raise_for_status()
        print(response.json())
except requests.RequestException as error:
    raise SystemExit(f"Proxy request failed: {type(error).__name__}") from None

默认 PROXY_SCHEME=http。如需 SOCKS5,改为 socks5h 并使用 SOCKS5 对应端口,让目标域名在远端解析。切换协议不改变已分配的静态出口。

遇到问题 ​

如果示例成功、业务代码失败,检查真正发起请求的进程、SDK 代理 IP 配置、超时和重试策略。不要通过关闭 TLS 证书校验解决连接错误。示例只输出查询结果或不含凭据的错误;排查日志也应脱敏。详见常见问题。