我目前正在向服务器发帖:
req = urllib2.Request('http://xxx.xxx.xx.xx/upload/')
req.add_header('Content-Type', 'application/json')
response = urllib2.urlopen(req, json_string)
print(response.getcode())
我得到了200代码但是我想读取服务器发回的JSON。我该怎么做呢? (为了避免使用请求库而绑定)
答案 0 :(得分:0)
我没有得到代码,因为我没有网址。 尝试:
req = urllib2.Request('http://xxx.xxx.xx.xx/upload/')
req.add_header('Content-Type', 'application/json')
response = urllib2.urlopen(req, json_string)
print(response.read())
答案 1 :(得分:0)
要从响应中获取实际的json
对象,而不仅仅是json
序列化字符串,您需要使用json
库解析响应
import json
req = urllib2.Request('http://xxx.xxx.xx.xx/upload/')
req.add_header('Content-Type', 'application/json')
response = urllib2.urlopen(req, json_string)
json_response = json.loads(response.read().decode('ascii'))
编码也可能是utf-8
,具体取决于服务器发回给你的内容。
或者您可以使用我发现更容易与之互动的requests
库,您需要单独安装它pip install requests
import requests, json
response = requests.post('http://xxx.xxx.xx.xx/upload', data={'data': json_string})
if response.ok:
response_json = response.json()
else:
print('Something went wrong, server sent code {}'.format(response.status_code))