Назад | Перейти на главную страницу

Curl и Wget возвращают другой код ответа

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


curl -I http://en.cihan.com.tr/rss?user=albawaba\&type=12
HTTP/1.0 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)/Tomcat-5.5
Set-Cookie: JSESSIONID=E65E0CC7CF956F45962FD8571F3AB02A; Path=/
Content-Type: application/xml;charset=UTF-8
Content-Length: 80043
Date: Thu, 29 Mar 2012 12:19:26 GMT
Set-Cookie: NSC_fo-sv-bs.djibo.dpn.us=ffffffff092a094245525d5f4f58455e445a4a4229a0;expires=Thu, 29-Mar-2012 12:20:51 GMT;path=/
X-Cache: MISS from Bilal
Connection: close

пока на сервере я получил

curl -I http://en.cihan.com.tr/rss?user=albawaba\&type=12
HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)/Tomcat-5.5
Set-Cookie: JSESSIONID=CCB29F3789ED06C505436F1289A122D4; Path=/
Location: http://en.cihan.com.tr/rssAlert
Content-Type: text/xml;charset=UTF-8
Content-Length: 0
Date: Thu, 29 Mar 2012 12:11:33 GMT
Set-Cookie: NSC_fo-sv-bs.djibo.dpn.us=ffffffff092a094245525d5f4f58455e445a4a4229a0;expires=Thu, 29-Mar-2012 12:12:58 GMT;path=/

Есть идеи, почему я получаю ответ 200 на моем ноутбуке и 302 на сервере по той же ссылке !!?

Страница, на которую вы перенаправлены, говорит: «У вас нет прав доступа к этой странице!».

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

Я сам попробовал использовать тот же URL и получил редирект 302 из двух разных мест в Великобритании и одного во Франции. У меня тайм-аут соединения с сервера Amazon EC2.

Как ни странно, они используют перенаправление 302 на страницу с ошибкой, а не просто обслуживают страницу с ошибкой с соответствующим кодом ответа HTTP, например 403 или 401.

... потому что сервер по-разному отвечает в зависимости от исходного IP-адреса?

Как мы узнаем ответ на то, что вы запускаете на своем сервере?