代理认证与 IP 信息验证
examples/38_proxy_auth_ipinfo.py
展示通过 fpfile 与代理配置协作,让业务脚本只保留最小代理入口。
- 配置 HTTP 代理地址
- 通过 fpfile 承载代理认证账号密码
- 访问 ipinfo 验证出口 IP
- 降低业务脚本中明文认证信息暴露
代理是高风控场景的基础设施。RuyiPage 推荐通过 fpfile 承载代理认证信息,业务脚本只保留最小代理入口,避免明文密码散落在代码中。
from ruyipage import FirefoxOptions, FirefoxPage
opts = FirefoxOptions()
opts.set_proxy("http://your-proxy-host:8080")
opts.set_fpfile(r"C:\path\to\profile1.txt") # 内含认证信息
page = FirefoxPage(opts)
page.get("http://ipinfo.io/json") # 验证代理出口 IP
print(page.run_js("return document.body.innerText"))
page.quit()| 字段 | 含义 | 示例 |
|---|---|---|
| httpauth.username | 代理用户名 | httpauth.username:your-username |
| httpauth.password | 代理密码 | httpauth.password:your-password |
httpauth.username:your-proxy-username
httpauth.password:your-proxy-passwordfrom ruyipage import FirefoxOptions, FirefoxPage
opts = FirefoxOptions()
opts.set_browser_path(r"C:\Firefox\firefox.exe")
opts.set_fpfile(r"C:\Firefox\profile1.txt") # 代理认证 + 指纹配置
opts.set_proxy("http://proxy-jp.example.com:8080")
page = FirefoxPage(opts)
# 叠加地理和语言伪装
page.emulation.set_geolocation(35.6762, 139.6503) # 东京
page.emulation.set_timezone("Asia/Tokyo")
page.emulation.set_locale(["ja-JP", "ja"])
page.network.set_extra_headers({"Accept-Language": "ja-JP,ja;q=0.9"})
page.get("https://www.browserscan.net/zh") # 验证指纹
page.quit()展示通过 fpfile 与代理配置协作,让业务脚本只保留最小代理入口。
演示如何把 Firefox 指纹浏览器、指纹文件、地理位置、语言和请求头一起接入 RuyiPage。