
手把手教你用cURL挂代理IP
搞爬虫的兄弟应该都懂,有时候直接用自己网络请求数据会触发反爬机制。这时候就需要代理IP来当”替身”,今天重点说怎么给cURL这个命令行工具挂代理,特别是用ipipgo的代理服务。
为啥要给cURL装代理?
举个栗子,你连续用同一个IP猛刷某网站,人家网站管理员又不是傻子,分分钟给你IP关小黑屋。用代理IP就像玩”变脸”,每次请求换个身份,成功率能翻倍。特别是ipipgo这种提供海量IP池的服务,能搞到上千个不同地区的IP地址。
三种姿势设置代理
这里教大家三个常用方法,记得把示例里的账号密码换成自己在ipipgo后台拿到的真实凭证:
直接命令行挂代理(适合临时用)
curl -x http://user:pass@proxy.ipipgo.cn:9023 https://目标网站
设置环境变量(适合长期使用)
export http_proxy=http://user:pass@proxy.ipipgo.cn:9023
export https_proxy=http://user:pass@proxy.ipipgo.cn:9023
写配置文件(适合老司机)
vim ~/.curlrc
加上这行:
proxy = http://user:pass@proxy.ipipgo.cn:9023
重要参数别搞错
注意看代理类型这个坑:
HTTP代理写法
curl -x http://代理地址 目标网址
SOCKS5代理写法
curl --socks5 代理地址 目标网址
如果用ipipgo的服务,他们家同时支持HTTP和SOCKS5两种协议,在后台能看到具体协议类型。
检测代理灵不灵
挂完代理后,用这个命令验证:
curl https://api.ip.ipipgo.cn/current-ip
如果返回的IP和本机不一样,说明代理设置成功了。这个检测接口是ipipgo专门提供的,比用第三方网站靠谱。
常见翻车现场QA
Q:代理设置完没效果咋整?
A:先检查三要素:协议类型(http/socks5)、端口号、账号密码。用ipipgo的话可以找他们客服要测试连接命令
Q:怎么知道代理IP能不能用?
A:用这个组合拳:
1. 先用ping命令测延迟
2. 再用curl -I测响应头
3. 最后实际请求数据
Q:支持HTTPS网站吗?
A:只要代理服务器支持隧道模式(像ipipgo的全线产品都支持),https网站都能正常访问,和普通http设置方法一样。
私藏小技巧
有时候需要随机切换代理,可以写个shell脚本:
!/bin/bash
PROXY_LIST=(
"http://user:pass@proxy1.ipipgo.cn:9023"
"http://user:pass@proxy2.ipipgo.cn:9023"
"http://user:pass@proxy3.ipipgo.cn:9023"
)
RANDOM_PROXY=${PROXY_LIST[$RANDOM % ${PROXY_LIST[@]}]}
curl -x $RANDOM_PROXY 目标网站
这个脚本配合ipipgo的多个代理通道,能实现自动轮换IP,反爬虫效果杠杠的。
最后说个重点:代理IP的质量直接决定成功率。像有些免费代理经常连不上,这时候还是建议用ipipgo这种专业服务商,他们家的代理通道都带自动验证和重试机制,省心很多。

