getimagesize не работает на определенном сервере на определенном изображении - не удалось открыть поток: HTTP-запрос не выполнен!

Я пытаюсь разобрать некоторые изображения из сообщений в блогах, чтобы создать маленькие миниатюры. Одно конкретное изображение не работает на веб-сервере, но не на моем ноутбуке.

Вот некоторый тестовый код:

$vars = getimagesize( 'http://thebestcamera.com/blog/wp-content/uploads/2010/02/img_0084-150x150.png' );

var_dump( $vars );

Журнал ошибок делает:

PHP Warning:  getimagesize(http://thebestcamera.com/blog/wp-content/uploads/2010/02/img_0084-150x150.png) [<a href='function.getimagesize'>function.getimagesize</a>]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

Если я использую curl, я получаю 404 с сервера, но я получаю изображение, если делаю это с ноутбука:

 curl http://thebestcamera.com/blog/wp-content/uploads/2010/02/img_0084-150x150.png
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /blog/wp-content/uploads/2010/02/img_0084-150x150.png was not found on this server.</p>
<hr>
<address>Apache/2.2.3 (CentOS) Server at thebestcamera.com Port 80</address>

Есть предположения?


person Mark Steudel    schedule 09.01.2011    source источник
comment
Это звучит как мера защиты от очистки (например, определение того, является ли заголовок пользовательского агента основным браузером)   -  person Pekka    schedule 10.01.2011
comment
Хорошо, это должно быть проблема с перенаправлением сервера. Если я поставлю www.thebestcamera.com, все заработает... интересно, с чем это связано.   -  person Mark Steudel    schedule 10.01.2011
comment
@Pekka: как раз собирался написать что-то очень похожее.   -  person thirtydot    schedule 10.01.2011
comment
@Mark, тогда это может быть перенаправление заголовка, которому не следует http-оболочка (обычные браузеры делают)   -  person Pekka    schedule 10.01.2011
comment
Бьюсь об заклад, это должно быть так, как сервер разрешает доменное имя, потому что с моего ноутбука он работает, используя все то же тестирование.   -  person Mark Steudel    schedule 10.01.2011
comment
@ Отметьте, что означает ping thebestcamera.com в каждой системе?   -  person Pekka    schedule 10.01.2011
comment
@pekka - отличный вопрос, я запустил ping с сервера, и он вернул 127.0.0.1, если я пропингую www.thebestcamera.com на сервере, он вернет его фактический IP-адрес. Если я пропингую thebestcamera.com на своем ноутбуке, он вернет фактический IP-адрес. Должны ли серверы обычно разрешать домен в 127.0.0.1 или он должен разрешать его фактический общедоступный IP-адрес?   -  person Mark Steudel    schedule 10.01.2011
comment
@Отметьте, в этом случае вызов, вероятно, завершится ошибкой, потому что на вашем сервере действуют другие правила для входящих вызовов на этот адрес.   -  person Pekka    schedule 10.01.2011
comment
@Mark - ты нашел решение этой ошибки?   -  person Innate    schedule 28.11.2012