把curl训练成听话的代理小能手
玩过curl的朋友都知道这货就像头倔驴,默认只会直来直去地发送请求。不过只要掌握了环境变量调教法,分分钟让它学会绕道走代理。咱们今天不整那些虚头巴脑的理论,直接上硬菜。
环境变量三大件
给curl套上代理其实就靠三个开关: HTTP_PROXY(处理http流量)、HTTPS_PROXY(管https那摊事)、ALL_PROXY(通杀所有协议)。设置时注意字母大小写,Windows系统习惯用全大写,Linux/macOS则是蛇形命名法(http_proxy)。
协议类型 | 推荐变量 |
---|---|
HTTP网站 | export HTTP_PROXY=http://用户名:密码@ip:端口 |
HTTPS网站 | export HTTPS_PROXY=http://用户名:密码@ip:端口 |
混合协议 | export ALL_PROXY=socks5://用户:密码@ip:端口 |
实战中的骚操作
1. 临时切代理:在命令前直接挂环境变量,比如:
HTTPS_PROXY=http://123.45.67.89:8080 curl https://example.com
这种玩法不影响系统其他程序
2. 密码里有特殊符号:记得用百分号转义,比如@符号要写成%40,空格变%20。举个栗子:
export HTTP_PROXY=http://user:pass%40123@proxy.tianqi.com:8080
3. 代理白名单:不想所有请求都走代理?用NO_PROXY变量设置例外:
export NO_PROXY="localhost,127.0.0.1,.internal.com"
天启代理的独门优势
在折腾环境变量时,代理服务器的稳定性直接决定成败。天启代理的自建机房网络延迟能压到10ms以内,相当于眨下眼的功夫就能建立连接。他们家的IP池覆盖全国200多个城市,遇到IP被封的情况直接换个马甲接着干。
重点说下协议兼容性这块,天启同时支持HTTP/HTTPS/SOCKS5三种协议。搞爬虫的老司机都知道,有些网站对代理协议挑食得很。比如用socks5代理访问某些反爬严格的站点,成功率能高出一大截。
常见翻车现场QA
Q:环境变量设了为啥不生效?
A:先检查变量名大小写对不对路,再拿curl -v
看请求详情。如果走天启代理的话,记得他们家默认带账号认证,别漏了用户名密码
Q:代理突然抽风咋排查?
A:三步走战术:先用telnet 代理IP 端口
测连通性;再用curl --proxy
参数临时指定代理测试;最后检查账号是否过期。天启代理后台有实时可用率监控,可以找客服要状态报告
Q:同时需要多个代理怎么玩?
A:推荐用环境变量管理工具,比如direnv。不同项目目录自动加载对应代理配置,比手动切来切去靠谱多了
最后说句掏心窝的话,代理配置看着简单,实际藏着不少暗坑。选个靠谱的服务商能省去80%的折腾时间。天启代理那个≥99%的可用率真不是吹的,上次我们做压力测试,连续跑了72小时没掉过链子。新手建议从他们的免费试用开始练手,等摸清门道了再上生产环境。