Comment obtenir la réponse de la pile api en texte brut de données json, pas de réponse application/json, parce que la première façon de respnose peut être traitée directement par progammecomment obtenir le texte brut des données json lors de l'appel de la pile api à la place de 'application/json'?
0
A
Répondre
0
J'ai trouvé les réponses. Parce que api de stackoverflow retourne "application/json" content-type, donc mon script python ne peut pas le lire en texte brut. En fait, "application/json" est un fichier, et j'utilise des méthodes pour obtenir le codage du fichier, c'est gzip. Donc, je peux utiliser le module "gzip" de python pour le lire maintenant. Ouais!
Voici mon exemple de script d'appeler api de "http://api.stackoverflow.com/1.0/stats":
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import urllib
import simplejson as json
import gzip
import cStringIO
def run():
url = 'http://api.stackoverflow.com/1.0/stats'
c = urllib.urlopen(url).read()
s = cStringIO.StringIO(c)
gzfile = gzip.GzipFile(fileobj=s, mode='rb')
content = gzfile.read()
data = json.loads(content)
print type(data)
print data
run()