在Python中,它们之间有什么区别urllib, urllib2, urllib3 and requests模块?为什么是三个?他们似乎做着同样的事情...
我知道已经说过了,但我强烈推荐requestsPython 包。
如果您使用过 Python 以外的语言,您可能会想urllib
and urllib2
易于使用,代码不多,而且能力很强,这就是我以前的想法。但是requests
软件包非常有用且简短,每个人都应该使用它。
首先,它支持完全宁静的 API,并且非常简单:
import requests
resp = requests.get('http://www.mywebsite.com/user')
resp = requests.post('http://www.mywebsite.com/user')
resp = requests.put('http://www.mywebsite.com/user/put')
resp = requests.delete('http://www.mywebsite.com/user/delete')
无论是 GET / POST,您都不必再次对参数进行编码,它只需将字典作为参数即可:
userdata = {"firstname": "John", "lastname": "Doe", "password": "jdoe123"}
resp = requests.post('http://www.mywebsite.com/user', data=userdata)
另外,它甚至还有一个内置的 JSON 解码器(再次,我知道json.loads()
不需要写太多,但这确实很方便):
resp.json()
或者,如果您的响应数据只是文本,请使用:
resp.text
这只是冰山一角。这是请求站点的功能列表:
- 国际域名和 URL
- 保持活动状态和连接池
- 具有 Cookie 持久性的会话
- 浏览器式 SSL 验证
- 基本/摘要式身份验证
- 优雅的键/值 Cookie
- 自动减压
- Unicode 响应主体
- 分段文件上传
- 连接超时
- .netrc 支持
- 项目清单
- Python 2.7、3.6—3.9
- 线程安全。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)