simplexml_load_file Документ пуст

Я беру из RSS-канала:

http://search.library.utoronto.ca/UTL/index?Ntt=starcraft&Ntk=Anywhere&Ntx=mode+matchallpartial&N=0&Nu=p_work_normalized&Np=1&rss=1

Если вы перейдете к нему в браузере, вы получите красивую xml-страницу.

Однако, если я это сделаю

simplexml_load_file("the above url");

в php я получаю

1: parser error : Document is empty
1: parser error : Start tag expected, '<' not found in my_file

Так почему браузер может получить это, но не PHP?

Если я сделаю file_get_contents("the above url"), функция завершится неудачно, и будет возвращено ЛОЖЬ.


person Sean Xiao    schedule 18.10.2012    source источник


Ответы (1)


Сайт блокирует запросы от PHP.

Первый забег

<?php
ini_set('user_agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0');

(или какой-либо другой действительный пользовательский агент), и он будет работать.

person limos    schedule 18.10.2012