Bob*_*ant 136
Messa的答案仅在服务器无需检查内容类型标题时才有效.如果您希望它真正起作用,则需要指定内容类型标题.这是Messa的答案修改为包含内容类型标题:
import json
import urllib2
data = json.dumps([1, 2, 3])
req = urllib2.Request(url, data, {'Content-Type': 'application/json'})
f = urllib2.urlopen(req)
response = f.read()
f.close()
Run Code Online (Sandbox Code Playgroud)
小智 36
无论urllib用什么来弄清楚Content-Length似乎都被json搞糊涂了,所以你必须自己计算.
import json
import urllib2
data = json.dumps([1, 2, 3])
clen = len(data)
req = urllib2.Request(url, data, {'Content-Type': 'application/json', 'Content-Length': clen})
f = urllib2.urlopen(req)
response = f.read()
f.close()
Run Code Online (Sandbox Code Playgroud)
让我永远想出这个,所以我希望它可以帮助别人.
Mes*_*ssa 17
示例 - 将一些编码为JSON的数据作为POST数据发送:
import json
import urllib2
data = json.dumps([1, 2, 3])
f = urllib2.urlopen(url, data)
response = f.read()
f.close()
Run Code Online (Sandbox Code Playgroud)
小智 5
阅读json响应使用json.loads()
.这是样本.
import json
import urllib
import urllib2
post_params = {
'foo' : bar
}
params = urllib.urlencode(post_params)
response = urllib2.urlopen(url, params)
json_response = json.loads(response.read())
Run Code Online (Sandbox Code Playgroud)