J'essaie de faire ce qui devrait être un simple aller chercher l'URL avec google appengine. Cependant, il continue d'échouer.Appengine urlfetch débogage
result = urlfetch.fetch(url=apiurl, method=urlfetch.POST)
J'ai aussi essayé d'utiliser httplib:
conn = httplib.HTTPConnection("api.eve-online.com")
conn.request("POST", "/char/CharacterSheet.xml.aspx", params, headers)
response = conn.getresponse()
self.response.out.write(response.read())
Ces deux erreurs renvoient très similaires,
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 515, in __call__
handler.get(*groups)
File "C:\Users\Martin\Documents\google_appengine\martindevans\eveapi.py", line 24, in get
method=urlfetch.POST)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 241, in fetch
return rpc.get_result()
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 530, in get_result
return self.__get_result_hook(self)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 315, in _get_fetch_result
rpc.check_success()
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 502, in check_success
self.__rpc.CheckSuccess()
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_rpc.py", line 149, in _WaitImpl
self.request, self.response)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub.py", line 80, in MakeSyncCall
method(request, response)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch_stub.py", line 133, in _Dynamic_Fetch
deadline=deadline)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch_stub.py", line 223, in _RetrieveURL
connection.request(method, full_path, payload, adjusted_headers)
File "C:\Python27\lib\httplib.py", line 946, in request
self._send_request(method, url, body, headers)
File "C:\Python27\lib\httplib.py", line 986, in _send_request
self.putheader(hdr, value)
File "C:\Python27\lib\httplib.py", line 924, in putheader
str = '%s: %s' % (header, '\r\n\t'.join(values))
TypeError: sequence item 0: expected string, int found
Je ne sais pas ce qui se passe ici. Je ne fournis aucune séquence à la méthode urlfetch, donc je ne sais pas où commencer le débogage.
modifier: Comme demandé, voici les en-têtes:
headers = { "Content-type": "application/x-www-form-urlencoded" }
Cela ne peut pas être le problème cependant, parce que la première approche ne définit même pas les en-têtes!
Qu'y at-il dans vos «en-têtes»? la plainte d'erreur sur le 'header' –
Ajouté les en-têtes, bien que je ne pense pas qu'ils peuvent éventuellement causer le problème – Martin