【问题标题】:PHP - CURL error when trying to connect with proxyPHP - 尝试连接代理时出现 CURL 错误
【发布时间】:2020-07-19 22:47:51
【问题描述】:

我正在尝试使用 PHP 中的代理将网站与 CURL 连接起来。但我收到“CONNECT 后从代理收到 HTTP 代码 400”错误。

这是我用来连接的代码:

<?PHP

$ch = curl_init("https://ipinfo.io/json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_PROXYTYPE, "HTTP");
curl_setopt($ch, CURLOPT_PROXY, "207.154.231.213:8080");

$output = curl_exec($ch);

if(curl_errno($ch))
    echo curl_error($ch);

echo $output;

?>

我不知道问题是什么。代理应该可以正常工作,因为我检查了它。

【问题讨论】:

    标签: php curl proxy


    【解决方案1】:

    使用 nex 代码

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, "https://ipinfo.io/json");
    $result=curl_exec($ch);
    curl_close($ch);
    echo json_decode($result, true);
    

    我推荐http://docs.guzzlephp.org/ api 库以获得更好的实践

    【讨论】:

    • 我想连接代理。
    【解决方案2】:

    根据文档curl_setopt,您应该删除您的CURLOPT_PROXYTYPE 设置(以使用默认的CURLPROXY_HTTP),或者您需要更改您的无效设置

    curl_setopt($ch, CURLOPT_PROXYTYPE, "HTTP");
    

    curl_setopt($ch, CURLOPT_PROXYTYPE, "CURLPROXY_HTTP");
    

    请注意,HTTP 类型不存在。

    【讨论】:

      猜你喜欢
      • 2016-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多