2010-11-12 78 views

回答

2

表示此类数据的好方法是使用JSON。 Python有一个json模块,这将有所帮助。

8

使用urllib.urlencode将字典编码为POST。

import urllib 
import urllib2 

mydict = {'key1': 'value1', 'key2': 'value2'} 
encoded_dict = urllib.urlencode(mydict) 

request = urllib2.Request(myurl, encoded_dict) 
# now make the request 
response = request.urlopen().read() 
+0

这将为字符串的工作,但也有可能是其它数据类型的问题。 – 2010-11-12 10:55:57

+0

这是我第一次接触到的答案,当我尝试打字时,似乎出现了一个小问题。对我有效的是:response = urllib2.urlopen(request).read() – Paul 2014-11-19 15:43:00

0
import urllib2 
import json 

pydict = {'list': [{'k1': '60411', 'k2': 'val'}], 'Id': '775'} 

jsondata = json.dumps(pydict) 

postreq = urllib2.Request(_url, jsondata) 
postreq.add_header('Content-Type', 'application/json') 
resp = urllib2.urlopen(postreq) 
print "resp:", resp.read() 
2

另外还有requests库:

payload = {'key1': 'value1', 'key2': 'value2'} 
r = requests.post("http://httpbin.org/post", data=payload)