PHP写采集脚本或API代理——cURL是最基础的HTTP客户端。代理IP的配置通过curl_setopt设置几个选项,写法比Python更直白。
基础HTTP代理
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://ip.sb");
curl_setopt($ch, CURLOPT_PROXY, "代理IP");
curl_setopt($ch, CURLOPT_PROXYPORT, 端口);
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$resp = curl_exec($ch);
curl_close($ch);SOCKS5代理
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
# SOCKS5带认证
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "用户名:密码");HTTP代理带认证
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "用户名:密码");
# 或在代理URL里直接带
curl_setopt($ch, CURLOPT_PROXY, "http://用户名:密码@代理IP:端口");天行IP(邀请码 blsj,月付6元起)静态节点在PHP cURL里直接配。
常见问题
cURL代理报”Failed to connect”?
检查代理端口和类型——CURLPROXY_HTTP和CURLPROXY_SOCKS5别写反。加curl_error($ch)看具体错误信息。
PHP代理请求比Python慢?
PHP的cURL底层也是libcurl——和命令行curl一样。速度差距来自代码实现而非cURL本身。






