📜  Http 请求方法Python请求(1)

📅  最后修改于: 2023-12-03 15:31:20.133000             🧑  作者: Mango

Http 请求方法Python请求

在 Web 开发中,HTTP 是应用最广泛的协议,Python 同样具有处理 HTTP 请求的能力。我们可以使用 Python 的 requests 库来进行 HTTP 请求。

安装 Requests 库

使用 pip 包管理器可以安装 Requests 库。

$ pip install requests
发送 GET 请求

使用 requests 库发送 HTTP GET 请求非常简单。以下代码在百度搜索引擎上搜索 "Python",并返回搜索结果的 HTML 页面内容。

import requests

response = requests.get('https://www.baidu.com/s', params={'wd': 'Python'})
print(response.text)
发送 POST 请求

与发送 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 请求方法:

  • PUT
  • DELETE
  • HEAD
  • OPTIONS
  • PATCH

我们可以使用 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 对象属性和方法:

  • response.text 返回响应内容的字符串形式
  • response.status_code 返回 HTTP 响应状态码
  • response.headers 返回响应头部信息
import requests

response = requests.get('http://httpbin.org/get')
print(response.status_code)
print(response.headers)
print(response.text)

以上代码会输出响应的状态码、头部信息和内容。

异常处理

在处理 HTTP 请求时,可能会发生一些异常情况,比如网络连接出现问题或者请求地址不存在等错误,这些错误能否被我们捕捉并及时处理显得尤为重要。

requests 库中常见的异常类有以下几种:

  • requests.exceptions.RequestException 包含所有 Requests 库的异常
  • requests.exceptions.HTTPError HTTP 错误异常
  • requests.exceptions.ConnectionError 连接错误异常
  • requests.exceptions.Timeout 超时异常
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 开发中是非常常用的。