Отправка POST-запроса с помощью CURL и прокси

#php #curl #proxies

#php #curl #прокси

Вопрос:

Я пытался исправить это весь день, но так и не смог найти решение. Я пытаюсь отправить запрос на веб-сайт через мой веб-сайт в файле 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;
  

Это мой код, который не даст мне ответа.
Когда я отправляю это без каких-либо прокси, оно проходит, и я получаю ответ.

Ответ №1:

Чтение кода ошибки и сообщения от неудачного вызова функции — хорошая идея, поскольку это может дать вам представление о том, что происходит.

Документация PHP для CURLOPT_PROXTYPE не включает 'HTTP' в себя допустимый тип. CURLPROXY_HTTP Однако он перечисляет.

Комментарии:

1. К сожалению, это также не возвращает ответ от сервера, с которым я пытаюсь связаться. Если вам может понадобиться дополнительная информация, пожалуйста, дайте мне знать, и я смогу ее опубликовать.

2. Получите код ошибки из curl и сообщение об ошибке

3. Я думаю, моей первой ошибкой было не добавлять проверку на наличие ошибок curl. Я изменил то, что вы упомянули в своем ответе, и проверил код ошибки, и он выдавал мне плохой прокси, который я изменил, и теперь он работает. Спасибо!