Selenium 代理接入示例
使用 API 提取的来源白名单代理地址启动浏览器,并验证出口与任务隔离。
只只HTTP技术团队维护更新于 2026年9月20日
浏览器驱动对账密代理弹窗的支持差异较大。服务端自动化可以从已加入白名单的固定 IPv4 来源直连 API 提取,再使用本次返回的 IP:PORT,不能把账密网关 us.zzhttp.com:7878 当作提取结果。
Python Selenium
import json
from urllib.request import ProxyHandler, build_opener
from selenium import webdriver
extract_url = (
"https://api.zzhttp.com/api/v1/proxy/extract"
"?num=1®ions=GLOBAL&protocol=http&return_type=json&lb=1"
)
with build_opener(ProxyHandler({})).open(extract_url, timeout=10) as response:
items = json.load(response)
if not isinstance(items, list) or not items:
raise RuntimeError("提取接口未返回可用的代理地址")
proxy_host = items[0]["ip"]
proxy_port = int(items[0]["port"])
options = webdriver.ChromeOptions()
options.add_argument(
f"--proxy-server=http://{proxy_host}:{proxy_port}"
)
driver = webdriver.Chrome(options=options)
try:
driver.get("https://ipinfo.io/json")
print(driver.find_element("tag name", "body").text)
finally:
driver.quit()
准备
- 运行服务器的真实公网 IPv4 已加入白名单并启用。
- 先从实际提取响应读取
ip和数字port;HTTP 200 也可能携带业务错误对象,示例会拒绝非数组结果。 - 提取和浏览器运行在同一来源环境。
配置
- 启动参数只包含本次提取的公开网关地址。
- 不把提取链接或结果写入公开日志。
隔离
- 每个任务使用独立用户数据目录。
- 限制同时启动的浏览器数量。
- 任务结束后关闭驱动并清理临时状态。
验证
- 先访问公开检测页。
- 来源变化或授权失效时重新确认白名单并提取。
这篇内容解决了你的问题吗?
反馈只用于改进公开文档,不会提交账号或请求信息。