Почему urlfetch не может загрузить RSS-ленту HackerNews (DownloadError: ApplicationError: 2)? - PullRequest
0 голосов
/ 21 марта 2012

13 марта www.cliws.com , размещенный на Google App Engine, остановился для получения RSS-канала HN, расположенного по адресу http://news.ycombinator.com/rss

www.cliws.com является RSS-ридером, как Google Reader, но немного лучше;) Он регулярно проверяет различные RSS-каналы, поэтому из журналов я вижу точную дату, когда Google прекратил скачивать RSS-канал HN (раньше он работал нормально ).

Проблемный URL-адрес RSS-канала выбирается локально в SDK для разработки без каких-либо проблем, но не может быть загружен в производственном режиме.

Пожалуйста, смотрите ниже демонстрацию проблемы:

s~cliwws> from google.appengine.api import urlfetch
s~cliwws> print urlfetch.fetch('http://news.ycombinator.com/rss').status_code
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/dogada/sources/python/google_appengine/google/appengine/api/urlfetch.py", line 263, in fetch
    return rpc.get_result()
  File "/home/dogada/sources/python/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 592, in get_result
    return self.__get_result_hook(self)
  File "/home/dogada/sources/python/google_appengine/google/appengine/api/urlfetch.py", line 365, in _get_fetch_result
    raise DownloadError(str(err))
DownloadError: ApplicationError: 2 
s~cliwws> print urlfetch.fetch('http://www.osnews.com/feed/kind/News').status_code
200
s~cliwws> print urlfetch.fetch('http://googleappengine.blogspot.com/atom.xml').status_code
200
s~cliwws> print urlfetch.fetch('http://google.com').status_code
200

Я также заполнил ошибку для этой проблемы: 'http://code.google.com/p/googleappengine/issues/detail?id=7181'

Каковы возможные причины этого странного поведения?

1 Ответ

0 голосов
/ 21 марта 2012

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

Поскольку вы не можете влиять на исходящий IP на GAE, попробуйтеустановка пользовательского агента на «Mozilla / 5.0 (X11; Linux x86_64) AppleWebKit / 535.21 (KHTML, как Gecko) Chrome / 19.0.1042.0 Safari / 535.21», чтобы проверить, если это что-то изменит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...