#php #curl
#php #curl
Вопрос:
Я использую следующий код для запуска curl.Но для одного URL-адреса я получаю ошибку 502 Bad Gateway.
<?php
//$proxy = '127.0.0.1:80';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '<requesturl>',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYPEER=>false,
CURLOPT_SSL_VERIFYHOST=>false,
//CURLOPT_PROXY=>$proxy,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Cookie: PHPSESSID=e03338f51c56ada6870d530080127581'
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
print_r($response);
print_r($err);
curl_close($curl);
?>
Я удалил https и поставил http и проверил, но для этого тоже не работает.
Моя версия PHP 5.6.
Спасибо, Рекха
Ответ №1:
Я нашел ответ.Я добавил пользовательский агент, и он работал нормально.
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
Для динамического получения пользовательского агента в php,
$userAgent = $_SERVER['HTTP_USER_AGENT'];
Это кому-то поможет.
Спасибо, Рекха