2013-07-04 2 views
0

Я пытаюсь отправить данные CURL GET на определенный сайт, но, похоже, он никогда не проходит.cURL PHP GET не отправляет

Это не должно быть что-то вроде следующего:

GET /webservices/ssl/something.asmx HTTP/1.1 
Host: http://www.thewebsite.com 

Я попытался следующие, но это, кажется, оно не пройти:

$url = "http://www.thewebsite.com/webservices/ssl/something.asmx"; 
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL, $url); 
curl_setopt($ch,CURLOPT_POST, 0); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: www.thewebsite.com')); 
curl_setopt($ch, CURLOPT_HTTP_VERSION, 1.1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 
print_r($result); 
print_r($info); 

The print_r($result) печатает ничего. Даже ошибка 404. Мой вопрос в том, правильно ли мой скручиваемость? есть что-то, что я скучаю? Если нет, не могли бы вы помочь мне указать, какая из них является ошибкой и как ее исправить?

ответ

0

Этот тип поведения обычно возникает, когда удаленный сервер отказывается обслуживать запросы от таких агентов, как curl, wget. Поэтому мы должны подделать заголовок агента.

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 

Вам не нужны следующие заголовки, потому что ручка для завивки сама по себе.

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: www.thewebsite.com')); 
curl_setopt($ch, CURLOPT_HTTP_VERSION, 1.1); 

Помимо этого, если на вашем сайте требуются куки-файлы Не забудьте указать хранилище для печенья.

curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); 

наконец если curl_exec возвращает FALSE проверки curl_error() для получения дополнительной информации.

0

curl_init может иногда иметь такое поведение. Попробуйте добавить трейлинг-косу «/» после URL-адреса.

Кроме того, учтите, что функция curl_init должна возвращать FALSE, если есть ошибки, или у вас есть пустой результат, как в вашем случае.

Смежные вопросы