PHP-尝试与代理连接时出现CURL错误

时间:2020-07-19 22:47:51

标签: php curl proxy

我正在尝试使用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;

?>

我不知道问题是什么。该代理服务器应该可以正常工作,因为我已经对其进行了检查。

2 个答案:

答案 0 :(得分:0)

使用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库,以获得更好的做法

答案 1 :(得分:0)

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

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

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

请注意,类型HTTP不存在。