Python:
发出 HTTP 请求
How to:
如何操作:
使用Python的requests
库,发送一个简单的HTTP GET请求:
import requests
response = requests.get('https://api.github.com')
print(response.status_code)
print(response.json())
样例输出:
200
{'current_user_url': 'https://api.github.com/user', 'current_user_authorizations_html_url':...}
发送POST请求,并传递数据:
import requests
data = {'key': 'value'}
response = requests.post('https://httpbin.org/post', data=data)
print(response.status_code)
print(response.json())
样例输出:
200
{
...
'form': {
'key': 'value'
},
...
}
Deep Dive
深入探讨:
HTTP请求的历史可以追溯到1990年代初的网络基础设施。Python的urllib
库是处理HTTP的早期工具,但它的使用比较复杂。后来,requests
库出现了,因其简洁且易于使用的接口受到喜爱。
替代方案包括使用http.client
(更底层)、aiohttp
(异步请求)以及各种HTTP客户端框架,如Tornado
。底层实现涉及套接字编程和HTTP协议的遵从。
See Also
查看更多:
- 官方requests库文档:https://requests.readthedocs.io/
- Python官方HTTP客户端库文档:https://docs.python.org/3/library/http.client.html
- HTTP协议详细信息:https://www.ietf.org/rfc/rfc2616.txt
- aiohttp文档:https://docs.aiohttp.org/