PHP通过curl使用socks5方式请求不能成功

方奥林
  • 2
新手上路,请多包涵

想通过socks5方式使用代理IP去请求网页能没能尝试成功。

下面是我尝试的代码,也试过将CURLPROXY_SOCKS5换成5和7但总是得到下面的错误:

  • string(40) "No authentication method was acceptable."
  • bool(false)

在linux中尝试用curl --socks5 IP:port -U user:psw 'http://...' 形式请求也报同样的错误

clipboard.png

         $targetUrl = "http://1.1.1.1/getip?token=".TOKEN."&id=".NETID;
         $proxyServer = "X.X.X.X:60011";
         $proxyAuth = USER.":".PSW;
         $proxy1 = $proxyAuth."@".$proxyServer;
         $proxy2 = 'socks5://'.$proxyAuth.'@'.$proxyServer;
         $proxy3 = 'socks5://'.$proxyServer;
         $curl = curl_init();

        //curl_setopt($curl, CURLOPT_URL, $targetUrl);
        //curl_setopt($curl, CURLOPT_HEADER, 1);
        //curl_setopt($curl, CURLOPT_PROXY, 'socks5://'.$proxyAuth.'@'.$proxyServer);
        //curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
        //curl_setopt($curl, CURLOPT_PROXYTYPE, 7);
        //curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

        curl_setopt($curl, CURLOPT_URL,$targetUrl);
        curl_setopt($curl, CURLOPT_PROXY, $proxy3);
        curl_setopt($curl, CURLOPT_PROXYUSERPWD, $proxyAuth);
        curl_setopt($curl, CURLOPT_PROXYTYPE, 5);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

         $data = curl_exec($curl);
         $err = curl_error($curl);

         dump($data);
         dump($err);
  • 麻烦大神帮忙看看,谢谢
回复
阅读 2.6k
1 个回答
方奥林
  • 2
新手上路,请多包涵
✓ 已被采纳

-_-||原来是我的curl版本太低

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏