当前位置: 首页 > news >正文

代理IP接入程序的完整流程(Python 实战,附排坑记录)

最近项目里需要用到代理IP,从选型到跑通代码踩了一些坑,把整个过程记录一下,希望对同样在做这块的朋友有帮助。

我用的是极安代理,它有短效代理和隧道代理两种产品。下面的操作和代码都基于这个环境,但原理部分是通用的,换别的服务商逻辑一样。

一、先搞清楚短效代理和隧道代理的区别

这两种代理的工作方式完全不同,选错了后面的接入方式也不一样,所以放在最前面说。

短效代理(有的平台叫提取式代理、API代理):你调一个接口,它返回一批IP给你,每个IP有存活时间,过期作废,你得重新提取。相当于你自己管一个IP池。

隧道代理(有的平台叫旋转代理):给你一个固定的代理地址,你所有请求都往这个地址发,后端自动帮你换IP。你不用关心IP的事。

简单对比:

短效代理隧道代理
你拿到什么一条API链接,调用返回IP列表一个固定的host:port地址
IP怎么换自己管,过期了重新提取自动换,你不用管
代码量多一些,要写IP池逻辑少,配一次地址就行
适合什么场景需要大量不同IP要稳定通道、怕麻烦

我的场景需要大量不同IP,所以两种都试了。

二、获取代理地址

这一步很简单。

短效代理:到极安代理的提取工具页面,选好地区、协议、数量,页面生成一条API链接,复制就行。也可以看接口文档自己拼参数,灵活度更高。

隧道代理:购买后进后台,产品列表里直接有隧道地址,复制走。

三、配置授权验证

地址拿到了还不能直接用,需要先做身份验证。支持两种方式:

1. 白名单

把你服务器的公网出口IP加到后台的白名单里,之后这个IP过来的请求自动放行,代码里不用带任何认证参数。

优点是代码干净,缺点是你的出口IP得固定。云服务器一般没问题,本地开发就不一定了。

2. 账密

在后台找到AuthkeyAuthpwd,请求时按Authkey:Authpwd@代理地址格式传入。

不要求固定IP,本地调试也能用。

两种选一个就行。我在服务器上用白名单,本地调试用账密。

四、curl 测试

写代码之前一定先用 curl 验一下,否则出了问题不知道是代理的事还是代码的事。

隧道代理测试:

# 账密方式 curl -x http://你的Authkey:你的Authpwd@隧道地址 https://httpbin.org/ip ​ # 白名单方式 curl -x http://隧道地址 https://httpbin.org/ip

短效代理测试(需要先提取IP再测):

# 先提取 curl "你的短效代理API链接" # 返回类似:180.XX.XX.1:端口 ​ # 再用提取到的IP测试 curl -x http://180.XX.XX.1:端口 https://httpbin.org/ip

返回的 JSON 里 IP 和你本机不一样,就说明代理通了。

五、Python 代码集成

curl 通了,代码就好写了。

隧道代理

import requests ​ proxy = "http://你的Authkey:你的Authpwd@隧道地址" proxies = {"http": proxy, "https": proxy} ​ resp = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10) print(resp.json()) # 每次请求自动换IP,不需要额外处理

短效代理

import requests ​ # 调API提取可用IP api_url = "你的短效代理API链接" ip_list = requests.get(api_url).text.strip().split("\n") ​ # 逐个使用 for ip in ip_list: proxies = {"http": f"http://{ip}", "https": f"http://{ip}"} try: resp = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=5) print(f"{ip} -> {resp.json()}") except Exception as e: print(f"{ip} 失败: {e}")

生产环境建议:短效代理的IP有存活时间,不要一次提取太多囤着。我的做法是每隔几分钟提取一批,维护一个本地IP队列,用完即弃。

其他语言参考

逻辑一样,写法不同:

  • Node.js:用http-proxy-agenthttps-proxy-agent

  • Go:在http.TransportProxy字段设置

  • Java:用java.net.ProxyHttpClient配置

核心都是把代理地址告诉 HTTP 客户端。

六、踩坑记录

记几个我实际遇到的问题,希望能帮别人少走弯路。

坑1:curl 能通,代码里死活不行

查了半天发现是代码里代理地址少写了http://前缀。requests 库不会自动补协议头,少了就直接报错。另外如果 Authkey 或 Authpwd 里有@:这种特殊字符,必须做 URL 编码:

from urllib.parse import quote ​ authkey = quote("your@key", safe="") authpwd = quote("your:pwd", safe="") proxy = f"http://{authkey}:{authpwd}@隧道地址"

坑2:HTTP 正常,HTTPS 直接断连

一开始以为是代码的问题,结果是套餐只支持 HTTP 转发。换了支持 HTTPS 的套餐就好了。这个问题没有报错信息,直接 timeout,很容易往错误方向排查。

坑3:白名单加了还是 403

两个原因:一是刚加的白名单有一两分钟的延迟,等一下就好了;二是我加错了IP——加的是ifconfig看到的内网IP,实际出口IP不是这个。用这个命令查真实出口:

curl https://httpbin.org/ip

坑4:并发一高就大面积失败

套餐有并发上限,超了就被限流。我的解决方案是加了一个信号量控制并发数:

import asyncio import aiohttp ​ semaphore = asyncio.Semaphore(10) # 根据套餐并发数设置 ​ async def fetch(url, proxy): async with semaphore: async with aiohttp.ClientSession() as session: async with session.get(url, proxy=proxy, timeout=aiohttp.ClientTimeout(total=10)) as resp: return await resp.json()

坑5:短效代理提取出来一堆不能用

正常的。IP有存活窗口,从提取到你用的这段时间里,有些已经过期了。不要纠结可用率,直接在代码里加异常处理 + 自动换下一个IP就行。

总结

整个流程跑通之后其实很简单,就是拿地址→配授权→测试→写代码,四步。关键是测试那一步别省,先用 curl 确认代理本身没问题,再去写业务代码,能省很多排查时间。

以上就是在极安代理环境下的完整接入过程,有问题欢迎评论区交流。

http://www.jsqmd.com/news/1079021/

相关文章:

  • FPGA高精度TDC设计:POR与ITI技术解析
  • OSINT Cheat Sheet:一份覆盖情报调查全流程的工具速查手册
  • 5G站点1588同步故障导致板卡心跳失败及数据丢失的处置案例
  • 供应链风险不再只是采购问题,CEO必须重新看这张隐形地图
  • GTCFX:从技术架构切入的方法梳理
  • Redis主从集群
  • PDF渲染:在应用中加载与展示PDF文档(86)
  • Microsoft Visual C++ 2010运行库安装失败怎么办 详细教程
  • 代理GEO优化包含售后托管吗
  • 好的 To B 定位,至少要回答四个问题
  • DevOps Bash Tools:运维脚本合集,开箱即用
  • MTKClient终极指南:如何完全掌控你的联发科设备
  • 033、Vector Dialect:SIMD向量化操作与硬件加速
  • 海宁企业AI获客新机遇一网推GEO优化
  • 3ds Max 2027免费版下载安装教程(附安装包)三维建模软件 保姆级安装教程
  • 第24期 | AI辅助调试与代码审查
  • 数据湖表格式三剑客:Hudi vs Iceberg vs Paimon 深度解析与选型指南
  • 多任务处理:后台运行与进程间通信(IPC)(87)
  • 51单片机简易超市无人自动售货机售卖机165-1(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_可以扫码
  • Apache Struts XWork XXE漏洞深度剖析:原理、复现与修复
  • 硬件信息获取:读取CPU、内存、磁盘等系统信息(90)
  • 2026年CAN转以太网与以太网转CAN选型指南:IPCSUN DNET800 与捷宸云双向互转全场景实测报告
  • CASPR框架实战:自动化安全测试与渗透扫描的模块化解决方案
  • 面向低轨宽带星座的抗辐射MCU在通信载荷基带控制与高速数传中的技术可行性研究
  • ChatGPT 官网访问异常怎么办?先看任务替代方案
  • [isaac lab] isaac lab的安装
  • 免费开源工具WeChatMsg:3步完成微信聊天记录永久保存与深度分析
  • 2026 做方言语音转文字怎么选?适合日常办公的这一款不踩雷
  • 【观止·诗史汇 HarmonyOS 实战系列 03】ArkUI 首页搭建:每日诗句、每日史事与功能入口
  • 机械数据分析与可视化系统