使用 CURL 和代理发送 POST 请求

Sending POST request with CURL and proxies

我一整天都在尝试解决这个问题,但一直没能找到解决方案。我正在尝试 post 通过我的网站在 php 文件上向网站发出请求。我正在使用 curl 并想使用代理,但是我没有收到任何响应。我在 namecheap 工作,甚至让他们调查了一下,但他们似乎也无法弄清楚。我让他们打开端口 8080 但没有成功。

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_PROXY, $proxy );
    curl_setopt($ch, CURLOPT_PROXYPORT, $port );
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0 );
    curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURL_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $response = curl_exec($ch);
    echo $response;

这是我的代码,不会给我回复。 当我在没有任何代理的情况下发送它时,它会通过并收到回复。

从失败的函数调用中读取错误代码代码和消息是个好主意,因为它可能会给您提供有关正在发生的事情的线索。

CURLOPT_PROXTYPE 的 PHP 文档不包含 'HTTP' 作为有效类型。不过它确实列出了 CURLPROXY_HTTP