#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. Я изменил то, что вы упомянули в своем ответе, и проверил код ошибки, и он выдавал мне плохой прокси, который я изменил, и теперь он работает. Спасибо!