我正在使用Python并尝试通过HTTP-Post请求向服务器发送字典(包含动态数据)。 什么是最有效的实施方式?通过发布请求传输字典
8
A
回答
2
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
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)
相关问题
- 1. 通过QNetworkAccessManager的发布请求
- 2. 通过Chai的发布请求
- 3. 通过Python请求发布到Bitbucket
- 4. Python3请求 - 通过表单数据发布请求
- 5. 通过HTML发布请求发送HTML5画布数据
- 6. 通过tcp/ip传输数据并通过HTTP GET/POST请求发送。 iPhone Webserver
- 7. AJAX通过API发布请求 - 解析请求参数时发生错误
- 8. PUT字典请求
- 9. 通过C++桌面应用程序发送发布请求
- 10. 通过SSL发送请求时无法发布文件数据
- 11. 通过发布请求发送.dex文件android studio
- 12. 如何通过网络浏览器发送发布请求
- 13. 通过工厂在Angular 1.x中发送发布请求
- 14. Python请求发布clyp.it上传文件
- 15. 传单 - 通过传单发送到osm的请求数(openstreetmap)
- 16. cherrypy文件上传结合请求发布请求
- 17. AFHTTPSessionManager发布请求
- 18. PHP发布请求
- 19. HTTP PUT请求通常如何发布?
- 20. REST API发布请求 - 请求错误
- 21. HTTPS请求不发布REST请求
- 22. 通过jquery ajax请求传递数组?
- 23. 通过FacesContext传递请求参数
- 24. 通过发布请求预期的地图(int,int)
- 25. django:通过登录持续发布请求
- 26. 为什么我通过AngularJs发布400个不好的请求?
- 27. Swift:通过发布请求获取JSON接收
- 28. 在django rest框架api中通过请求标题发布device_id
- 29. AFNetworking发布请求不通过Sinatra应用程序
- 30. 在Facebook上发布不带API但通过http请求
这将为字符串的工作,但也有可能是其它数据类型的问题。 – 2010-11-12 10:55:57
这是我第一次接触到的答案,当我尝试打字时,似乎出现了一个小问题。对我有效的是:response = urllib2.urlopen(request).read() – Paul 2014-11-19 15:43:00