跳至内容
ipcrazy.

PYTHON 3 / QUICKSTART

把代理连接接入 Python。

使用 Requests,结合环境变量、凭证编码与明确的超时设置。

准备工作

使用 Python 3 和独立虚拟环境。示例使用 Requests 库与 HTTP 代理入口。

当前为配置指南,购买与真实代理连接尚未开放。示例需要实际交付的代理凭证,不会替你创建资源。

在虚拟环境中安装 Requests,并在执行脚本的进程中设置代理变量。示例会对用户名和密码进行 URL 编码,处理其中的特殊字符。

python -m pip install requests

设置环境变量

将以下参数保存在服务端进程环境。不要将代理密码或密钥放入网页代码、公开仓库和截图。

PROXY_HOST
分配的代理主机,不包含协议前缀
PROXY_PORT
与所选协议对应的端口
PROXY_USERNAME
代理用户名,不是网站登录邮箱
PROXY_PASSWORD
代理密码,不是账户密码或 API Key

发起请求

示例使用 HTTP 代理访问 HTTPS 目标。若实际入口为 SOCKS5,请使用支持 SOCKS5 的客户端与对应端口;HTTP 代理地址不能直接当作 SOCKS5 使用。

import os
from urllib.parse import quote
import requests

user = quote(os.environ["PROXY_USERNAME"], safe="")
secret = quote(os.environ["PROXY_PASSWORD"], safe="")
host = os.environ["PROXY_HOST"]
port = os.environ["PROXY_PORT"]
proxy = f"http://{user}:{secret}@{host}:{port}"
response = requests.get("https://httpbin.org/ip",
    proxies={"http": proxy, "https": proxy}, timeout=30)
response.raise_for_status()
print(response.text)

检查结果

先运行一次脚本并核对返回的出口 IP。HTTP 错误会抛出异常,请求设置了 30 秒超时。批量运行前,按应用需要补充错误处理。

常见问题

连接错误排查
现象检查方法
407核对代理用户名、密码和账户资源状态,勿反复自动重试。
超时 / 无法连接核对主机、端口、防火墙及协议,先用一个请求定位问题。
403 / 429区分目标站响应与代理鉴权错误。遵守目标站限制,降低频率并停止不允许的请求。
出口与预期不同检查是否为轮换套餐、会话是否过期,以及地区参数是否被实际资源支持。
选择适合任务的产品
Python | ipcrazy