📜  Python自定义HTTP请求(1)

📅  最后修改于: 2023-12-03 14:46:47.459000             🧑  作者: Mango

Python自定义HTTP请求

在Python中,我们可以使用urllib模块或第三方模块requests来发送HTTP请求。但是,有时候我们需要自定义HTTP请求的头部、参数或者数据,这时候就需要自定义HTTP请求了。

使用urllib发送自定义请求

利用urllib.request模块中的Request类,我们可以方便地自定义HTTP请求。

import urllib.request

url = 'https://www.example.com'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:77.0) Gecko/20190101 Firefox/77.0'}
data = {'key1': 'value1', 'key2': 'value2'}

req = urllib.request.Request(url, headers=headers, data=urllib.parse.urlencode(data).encode('utf-8'))

with urllib.request.urlopen(req) as response:
    print(response.read().decode('utf-8'))

注:该示例代码的请求头部中包含了一个User-Agent字段,这是为了欺骗服务器以便返回更多信息。

使用requests发送自定义请求

利用requests模块,我们也可以很方便地自定义HTTP请求。

import requests

url = 'https://www.example.com'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:77.0) Gecko/20190101 Firefox/77.0'}
data = {'key1': 'value1', 'key2': 'value2'}

response = requests.post(url, headers=headers, data=data)

print(response.content)

注:该示例代码的请求头部中包含了一个User-Agent字段,这是为了欺骗服务器以便返回更多信息。

自定义请求的常见用途

常见的自定义HTTP请求包括:

  • 使用POST方法请求数据;
  • 使用PUT方法上传文件;
  • 使用DELETE方法删除资源。
总结

自定义HTTP请求可以帮助我们更灵活地发送请求,满足各种请求需求。在Python中,我们可以利用urllib.request模块或第三方模块requests来发送自定义HTTP请求。