📅  最后修改于: 2023-12-03 15:31:20.133000             🧑  作者: Mango
在 Web 开发中,HTTP 是应用最广泛的协议,Python 同样具有处理 HTTP 请求的能力。我们可以使用 Python 的 requests 库来进行 HTTP 请求。
使用 pip 包管理器可以安装 Requests 库。
$ pip install requests
使用 requests 库发送 HTTP GET 请求非常简单。以下代码在百度搜索引擎上搜索 "Python",并返回搜索结果的 HTML 页面内容。
import requests
response = requests.get('https://www.baidu.com/s', params={'wd': 'Python'})
print(response.text)
与发送 GET 请求类似,requests 库也可以发送 HTTP POST 请求。以下代码向网站 http://httpbin.org/post 发送一条 POST 请求,并带有 payload 数据。
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('http://httpbin.org/post', data=payload)
print(response.text)
除了 GET 和 POST 请求,requests 库还支持以下 HTTP 请求方法:
我们可以使用 requests 库中对应的函数来发送上述请求。
import requests
response_put = requests.put('http://httpbin.org/put', data={'key1': 'value1'})
response_delete = requests.delete('http://httpbin.org/delete')
response_head = requests.head('http://httpbin.org/get')
response_options = requests.options('http://httpbin.org/get')
response_patch = requests.patch('http://httpbin.org/patch', data={'key1': 'value1'})
requests 库发送请求后,会返回一个 Response 对象,我们可以通过该对象来处理 HTTP 响应。
常用的 Response 对象属性和方法:
import requests
response = requests.get('http://httpbin.org/get')
print(response.status_code)
print(response.headers)
print(response.text)
以上代码会输出响应的状态码、头部信息和内容。
在处理 HTTP 请求时,可能会发生一些异常情况,比如网络连接出现问题或者请求地址不存在等错误,这些错误能否被我们捕捉并及时处理显得尤为重要。
requests 库中常见的异常类有以下几种:
import requests
try:
response = requests.get('http://httpbin.org/get', timeout=0.1)
response.raise_for_status()
except requests.exceptions.RequestException as e:
print(e)
以上代码包含了一个 try-except 代码块,当 HTTP 请求出错时,会捕捉并输出异常信息。
以上就是 HTTP 请求方法 Python 请求的相关内容。使用 requests 库可以轻松地处理 HTTP 请求,包括 GET、POST 和其它类型的请求,以及处理响应和异常。这一能力在 Web 开发中是非常常用的。