手把手教你用cURL挂代理发POST请求
搞数据采集的朋友应该都遇到过这种情况:目标网站防爬严得要命,用自己本机IP发几个请求就被封。这时候就得搬出咱们的救星——代理IP了。今天拿天启代理的服务举个栗子,教你怎么在命令行里用cURL挂代理发POST请求。
准备工作别偷懒
首先确认你电脑上有装cURL,这个工具Windows/Mac/Linux都自带。然后去天启代理官网搞个API接口,他们家的代理IP可用率≥99%,实测连上基本秒响应。注意记下这几个参数:
参数 | 示例值 |
---|---|
代理协议 | HTTP/HTTPS/SOCKS5 |
代理地址 | proxy.tianqidaili.com |
端口号 | 30001 |
实战命令拆解
假设要提交登录表单,账号密码放在data.json文件里。核心命令长这样:
curl -x http://user:pass@proxy.tianqidaili.com:30001 \ -H "Content-Type: application/json" \ -d @data.json \ -X POST https://目标网站.com/login
划重点:-x参数后面跟的是代理地址,天启代理支持多种认证方式。如果用的是动态代理池,记得把user:pass换成他们提供的鉴权方式。
避坑指南
1. 遇到SSL证书报错时,加个--proxy-insecure
参数就行,天启代理的IP都是自建机房纯净网络,不用担心中间人攻击
2. 超时设置建议用-m 10
(10秒),配合他们家响应延迟≤10ms的节点,完全够用
3. 要切换城市节点的话,把代理地址里的机房代码改掉,比如bj-开头的就是北京节点
自动重试脚本
写个shell脚本自动换IP重试,关键代码片段:
for i in {1..3} do curl --proxy http://$(curl -s 天启代理API地址) ... if [ $? -eq 0 ]; then break fi sleep 1 done
常见问题QA
Q:为什么POST数据被网站识别了?
A:检查请求头是否完整,建议用-H "User-Agent: ..."
添加浏览器指纹,天启代理的IP本身带标准HTTP头
Q:怎么测试代理是否生效?
A:先用curl -x 代理地址:端口 https://httpbin.org/ip
看返回的IP是不是代理IP
Q:HTTPS网站连不上怎么办?
A:把代理协议从http换成https,天启代理全协议支持,记得检查端口号对不对
最后叨叨一句,选代理服务得看准三点:IP质量要稳、响应速度要快、技术支持要到位。像天启代理这种企业级服务商,拿来做自动化脚本确实省心,特别是他们全国200+城市节点的覆盖,做区域化数据采集时特别有用。