HTTP / 1.1 505 HTTP-версия не поддерживается

Я использую PHP-скрипт для захвата веб-страницы. Он работал нормально со многими сайтами, но с одним сайтом он не удался, возвращая ошибку, говоря «HTTP-версия HTTP версии 1.155 не поддерживается».

Это (часть) моего скрипта:

for($i = 0; $i < 1; $i++) { $page = file_get_contents("http://www.lovelybooks.de/stoebern/empfehlung/romantic fantasy/?seite=$i"); // do something with $page } 

Во многих ответах рекомендуется установить уязвимость HTTP-версии. Я пробовал установить 0,9, 1,0 и 1,1, но ничего не изменил. И на самом деле заголовки, похоже, показывают, что HTTP-версия, запрошенная моим браузером и ожидаемая сервером, соответствует:

Заголовки ответов:

 HTTP/1.1 200 OK Date: Mon, 15 Dec 2014 09:01:15 GMT Server: Apache X-Powered-By: PHP/5.4.35 Keep-Alive: timeout=2, max=200 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html 

Заголовки запросов:

 GET /path/script.php HTTP/1.1 Host: www.mydoman.de User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:34.0) Gecko/20100101 Firefox/34.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de,en-US;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate DNT: 1 Authorization: Basic MjQwMjE5Njc6MDcwNjIwMDc= Connection: keep-alive Cache-Control: max-age=0 

Что еще может быть неправильным?

Замените пробел в URL с его процентным кодированием:

  $page = file_get_contents("http://www.lovelybooks.de/stoebern/empfehlung/romantic%20fantasy/?seite=$i"); 

Я вижу, что вы используете пробел в своем URL-адресе. Это не сработает. Чтобы решить проблему, я бы поместил url в другую переменную и закодировал ее так:

 $URL = urlencode("http://www.lovelybooks.de/stoebern/empfehlung/romantic fantasy/?seite=".$i); file_get_contents($URL);