PHP cUrl - 发布数据不通过代理

发布于 2024-12-04 01:14:12 字数 1028 浏览 1 评论 0原文

我使用此代码登录远程服务器。当我不使用代理时,一切工作正常。但使用代理则不然。

这是代码:

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
  curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  curl_setopt($ch, CURLOPT_TIMEOUT, 20);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);


  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_REFERER, $ref_url);


  curl_setopt($ch, CURLOPT_HEADER, FALSE);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
  curl_setopt($ch, CURLOPT_POST, TRUE);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); 
  curl_setopt($ch, CURLOPT_PROXY, $proxy.':'.$port);
  ob_start();

  return curl_exec ($ch); // execute the curl command
  ob_end_clean();
  curl_close ($ch);
  unset($ch);

我尝试禁用 CURLOPT_HTTPPROXYTUNNEL 但没有帮助。

所以,没有代理我可以正常登录。 没有代理。 代理广告效果很好。

I use this code to login to remote server. Evrything working fine when I don't use proxy. But with proxy it doesn't.

Here is code:

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
  curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  curl_setopt($ch, CURLOPT_TIMEOUT, 20);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);


  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_REFERER, $ref_url);


  curl_setopt($ch, CURLOPT_HEADER, FALSE);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
  curl_setopt($ch, CURLOPT_POST, TRUE);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); 
  curl_setopt($ch, CURLOPT_PROXY, $proxy.':'.$port);
  ob_start();

  return curl_exec ($ch); // execute the curl command
  ob_end_clean();
  curl_close ($ch);
  unset($ch);

I try to disable CURLOPT_HTTPPROXYTUNNEL but it didn't help.

So, without proxy I can login fine.
With proxy not.
Proxy is good ad working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梓梦 2024-12-11 01:14:12

使用您发布的代码得到的代理错误是什么?代理需要认证吗?

What's the proxy error you get using the code you posted? Does the proxy need authentication?

多情癖 2024-12-11 01:14:12

我遇到了同样的问题,代码在没有代理的情况下工作正常,但没有返回任何内容
,我做了一些调试,发现实际上在大多数服务器上只允许端口80,并且我们使用的许多代理通过另一个端口连接

  • 您可以解锁您拥有最大代理的端口号
  • 您可以过滤仅包含端口 80 代理的列表

注意:也仅使用端口 http、https 和ocks4 代理,socks5 代理在 udp 上运行,而不是在 tcp/ip 上运行

I was having a same problem , the code works fine without the proxy but with it its returning nothing
, I have done some debugging and found out that actually on most of the servers only the port 80 is allowed , and many of the proxies we use connect through another port

  • You can unblock the port no for which you have maximum proxies
  • You can filter the list with only port 80 proxies

Note : Also only use port http, https and socks4 proxies , socks5 proxies runs on udp not on tcp/ip

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文