Python Requests 是一个功能强大的 HTTP 请求库,能够轻松发起 GET、POST 等请求。本文将详细介绍如何使用 Requests 库发起 POST 请求。

发起基本的 POST 请求

使用以下代码示例发起一个简单的 POST 请求:

import requests

url = 'https://example.com/api'

payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post(url, data=payload)

print(response.text)

如果 API 接受 JSON 数据,你可以使用json参数:

response = requests.post(url, json=payload)

你还可以为data参数传入一个元组列表。在表单中多个元素使用同一 key 的时候,这种方式尤其有效:

payload = (('key1', 'value1'), ('key1', 'value2'))
response = requests.post(url, data=payload)

POST 文件

如果你想通过 POST 请求上传文件,可以使用以下代码示例:

files = {'file': open('info.xls', 'rb')}
response = requests.post(url,files=files)

你也可以设置文件名、文件类型和请求头:

files = {'file': ('info.xls', open('info.xls', 'rb'),
                  'application/vnd.ms-excel',
                  {'Expires': '0'}
                  )
         }
response = requests.post(url,files=files)

你也可以将字符串作为文件来 POST:

files = {'file': ('info.txt', 'hello world\n')}
response = requests.post(url,files=files)