Я создаю скрипт, который будет называть API-интерфейс rest в python и выплевывает результаты в формате JSON
. В моем коде я получаю несколько ошибок обратного следа. Как я могу решить эту проблему.Rest API для вывода в .json
'import sitecustomize' failed; use -v for traceback
Traceback (most recent call last):
File "/home/Desktop/Sync.py", line 12, in <module>
url = urllib2.Request(request)
File "/usr/lib/python2.7/urllib2.py", line 202, in __init__
self.__original = unwrap(url)
File "/usr/lib/python2.7/urllib.py", line 1057, in unwrap
url = url.strip()
File "/usr/lib/python2.7/urllib2.py", line 229, in __getattr__
raise AttributeError, attr
AttributeError: strip
Вот код:
import urllib2
import json
url = "http://google.com"
request = urllib2.Request(url)
request.add_header("Authorization","Basic xxxxxxxxxxxxxxxxxx")
socket = urllib2.urlopen(request)
data = json.dumps(socket)
hdrs = socket.headers
source = socket.read()
socket.close()
print "---- Headers -----"
print data
print "---- Source HTML -----"
print source
print "---- END -----"
value = 0
for line in source.splitlines():
if not line.strip(): continue
if line.startswith("value="):
try:
value = line.split("=")
except IndexError:
pass
if value > 0:
break
open("some.json", "w").write("value is: %d" % value)
Используйте 'запросы' вместо' urllib2' - вам будет легче. Кроме того, это похоже на проблему с настройкой python. – Marcin
По крайней мере, ваш 'json.loads' ни на чем не работает, и он потерпит неудачу. – zhangyangyu
Попробуйте удалить 'url = urllib2.Request (request)' и заменить следующую строку 'socket = urllib2.urlopen (request)' – iraycd