Question

J'exécute un travail CRON sur Google App Engine depuis plus d'un mois maintenant sans aucun problème. Le travail fait une variété de choses, l'une étant qu'elle utilise Urllib2 pour passer un appel pour récupérer une réponse JSON de Reddit ainsi que quelques autres sites. Il y a environ deux semaines, j'ai commencé à voir des erreurs lors de l'invoquer Reddit, mais pas d'erreurs lors de l'invoquer les autres sites. L'erreur que je reçois est l'erreur HTTP 429.

J'ai essayé d'exécuter le même code en dehors de Google App Engine et je n'ai aucun problème. J'ai essayé d'utiliser URLFetch, mais je reçois la même erreur.

Vous pouvez voir l'erreur lorsque vous utilisez l'application Shell interactif du moteur avec le code suivant.

import urllib2
data = urllib2.urlopen('http://www.reddit.com/r/Music/.json', timeout=60)

Edit: Je ne sais pas pourquoi cela échoue toujours pour moi et pas quelqu'un d'autre. C'est l'erreur que je reçois:

>>> import urllib2
>>> data = urllib2.urlopen('http://www.reddit.com/r/Music/.json', timeout=60)
Traceback (most recent call last):
  File "/base/data/home/apps/s~shell-27/1.356011914885973647/shell.py", line 267, in get
    exec compiled in statement_module.__dict__
  File "<string>", line 1, in <module>
  File "/base/python27_runtime/python27_dist/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/base/python27_runtime/python27_dist/lib/python2.7/urllib2.py", line 400, in open
    response = meth(req, response)
  File "/base/python27_runtime/python27_dist/lib/python2.7/urllib2.py", line 513, in http_response
    'http', request, response, code, msg, hdrs)
  File "/base/python27_runtime/python27_dist/lib/python2.7/urllib2.py", line 438, in error
    return self._call_chain(*args)
  File "/base/python27_runtime/python27_dist/lib/python2.7/urllib2.py", line 372, in _call_chain
    result = func(*args)
  File "/base/python27_runtime/python27_dist/lib/python2.7/urllib2.py", line 521, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 429: Unknown

Code similaire en dehors du moteur de l'application sans problème:

print urllib2.urlopen('http://www.reddit.com/r/Music/.json').read()

Au début, je pensais que cela avait à voir avec un problème de délai d'expiration car il fonctionnait à l'origine, mais comme il n'y a pas d'erreur de délai d'expiration mais un code httperror étrange, je ne suis pas sûr. Des idées?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top