为什么我通过代理的 CURL 请求失败,如何修复?

Susan Sarandon
发布: 2024-11-14 09:49:01
原创
281 人浏览过

Why Is My CURL Request Through a Proxy Failing, and How Can I Fix It?

如何通过代理使用 CURL:故障排除指南

使用代理服务器可以增强 curl 的功能,但不正确的设置可能会导致错误。以下是对您的代码的全面分析以及您遇到的问题的解决方案:

问题 1:缺少变量

在初始代码片段中,第 12 行尝试使用 $url 而不初始化它:

$url = '$_POST[1]';
登录后复制

解决方案:

使用 HTML 表单中的适当值初始化 $url。

问题 2:空白屏幕

更新后的代码现在仅返回空白屏幕。这很可能是因为 $curl_scraped_pa​​ge 没有回显输出:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
登录后复制

解决方案:

将 CURLOPT_RETURNTRANSFER 设置为 1 以启用到 $curl_scraped_pa​​ge 的输出。

最后的工作代码:

$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;
登录后复制

附加说明:

  • CURLOPT_PROXYUSERPWD 可用于提供代理身份验证的用户名和密码。
  • 如果不需要标题,可以注释掉CURLOPT_HEADER输出。
  • 将 CURLOPT_PROXY 设置为 null 会禁用特定请求的代理。

以上是为什么我通过代理的 CURL 请求失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板