如何通过代理使用 CURL:故障排除指南
使用代理服务器可以增强 curl 的功能,但不正确的设置可能会导致错误。以下是对您的代码的全面分析以及您遇到的问题的解决方案:
问题 1:缺少变量
在初始代码片段中,第 12 行尝试使用 $url 而不初始化它:
$url = '$_POST[1]';
解决方案:
使用 HTML 表单中的适当值初始化 $url。
问题 2:黑屏
更新后的代码现在仅返回黑屏。这很可能是因为 $curl_scraped_page 没有回显输出:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
解决方案:
将 CURLOPT_RETURNTRANSFER 设置为 1 以启用到 $curl_scraped_page 的输出。
最终工作代码:
$url = 'http://dynupdate.no-ip.com/ip.php'; $proxy = '66.96.200.39:80'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); $curl_scraped_page = curl_exec($ch); curl_close($ch); echo $curl_scraped_page;
附加说明:
以上是为什么我通过代理的 CURL 请求失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!