PHP libcurl socks5 不工作

PHP libcurl socks5 not working

我尝试使用 libcurl 连接到 socks5 代理,但是我收到 SOCKS:身份验证失败 的答案。我还尝试通过带有 cURL 的 Powershell 脚本连接到代理服务器——它工作正常,所以代理服务器可用并且我的登录名和密码是正确的。我尝试了很多解决方案...但是通过 PHP-script 的连接仍然不起作用。

PHP 版本 – 5.4,cURL 版本 – 7.19。我能做什么?

[更新] 这是我当前的代码。我想用我的 Telegram 机器人发送消息 :)

    $proxy = '<hostname>:<port>';
    $proxy_auth = '<username>:<password>';

    $url = 'https://api.telegram.org/bot<botID>/sendMessage?'.'chat_id='.$chat_id.'&parse_mode='.$parse_mode.'&text='.'test';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_auth);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HEADER, true);
    $curl_scraped_page = curl_exec($ch);
    $error = curl_error($ch);
    echo $error;
    echo $curl_scraped_page;
    curl_close($ch);

这是针对遇到相同问题的其他人的完整答案。

//Curl setup
$url = "https://google.com";
$proxy = "10.23.2.2:8080";
$password = "username:secret_passowrd";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch, CURLOPT_HEADER, true);

//proxy's address
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//proxy's password
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $password);

//in order to follow redirects.
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//in order to use the result of the query
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//run query
$curl_scraped_page = curl_exec($ch);
$error = curl_error($ch);
echo $error;
echo $curl_scraped_page;
curl_close($ch);

希望对您有所帮助。