Python - AI 助手

Python Requests post() 方法



Python Requests 的 post() 方法用于向指定的 URL 发送 HTTP POST 请求。它允许向服务器发送数据,通常用于提交表单或上传文件。

此方法接受诸如“url”、“data”、“json”、“headers”、“cookies”、“files”和“timeout”之类的参数。使用“data”或“json”分别发送表单数据或 JSON 有效负载,其中“headers”可用于发送自定义 HTTP 标头,“files”可用于上传文件。

它返回一个响应对象,其中包含状态代码、标头和内容等详细信息,从而促进与 Web 服务的交互。

语法

以下是 Python Requests post() 方法的语法和参数:

requests.post(url, data=None, json=None, headers=None, params=None, auth=None, timeout=None, verify=None)

参数

以下是 Python Requests post() 方法的参数:

  • url: 发送请求的 URL。
  • data: 请求的主体。这可以是字典、字节或类文件对象,用于发送到请求的主体中。
  • json: 发送到请求主体中的 JSON 数据。
  • headers: 与请求一起发送的 HTTP 标头。
  • files: 与请求一起上传的文件。
  • auth: Auth 元组以启用 Basic/Digest/Custom HTTP Auth 或自定义身份验证可调用对象。
  • cookies: 与请求一起发送的 Cookie。
  • timeout: 请求的超时时间。
  • allow_redirects: 确定是否应跟踪重定向。
  • proxies: 一个字典,将协议映射到代理的 URL。
  • verify: 控制是否启用 SSL 证书验证。

返回值

此方法返回一个 Response 对象。

示例 1

以下是一个基本示例,它使用 python requests 的 post() 方法向指定的 URL 发送一个简单的 POST 请求,并使用表单数据:

import requests

# Define the URL
url = 'https://httpbin.org/post'

# Define the data to be sent in the request body
data = {'key1': 'value1', 'key2': 'value2'}

# Send the POST request with the data
response = requests.post(url, data=data)

# Print the response status code
print('Status Code:', response.status_code)

# Print the response content
print('Response Content:', response.text)

输出

Status Code: 200
Response Content: {
  "args": {},
  -------------
  ------------
  ------------
"json": null,
"origin": "110.226.149.205",
"url": "https://httpbin.org/post"
}

示例 2

服务器将接收带有提供的 JSON 数据的 POST 请求,并打印来自服务器的响应,包括状态代码和任何响应内容。这是一个示例:

import requests

# Define the URL
url = 'https://httpbin.org/post'

# Define the JSON data to be sent in the request body
json_data = {'key1': 'value1', 'key2': 'value2'}

# Send the POST request with the JSON data
response = requests.post(url, json=json_data)

# Print the response status code
print('Status Code:', response.status_code)

# Print the response content
print('Response Content:', response.text)

输出

Status Code: 200
Response Content: {
  "args": {},
  "data": "{\"key1\": \"value1\", \"key2\": \"value2\"}",
  -------------
  ------------
  ------------
"json": {
    "key1": "value1",
    "key2": "value2"
  },
  "origin": "110.226.149.205",
  "url": "https://httpbin.org/post"
}

示例 3

以下是一个使用 Python 的 requests 模块 post() 方法发送带有超时设置的 POST 请求的示例:

import requests

# Define the URL
url = 'https://httpbin.org/post'

# Define the JSON data to be sent in the request body
json_data = {'key1': 'value1', 'key2': 'value2'}

# Set the timeout for the request (in seconds)
timeout = 5

try:
    # Send the POST request with the JSON data and timeout
    response = requests.post(url, json=json_data, timeout=timeout)

    # Print the response status code
    print('Status Code:', response.status_code)

    # Print the response content
    print('Response Content:', response.text)

except requests.Timeout:
    # Handle timeout error
    print('Timeout Error: Request timed out.')

except requests.RequestException as e:
    # Handle other request exceptions
    print('Request Exception:', e)

输出

Status Code: 200
Response Content: {
  "args": {},
  "data": "{\"key1\": \"value1\", \"key2\": \"value2\"}",
  -------------
  ------------
  ------------
 },
  "origin": "110.226.149.205",
  "url": "https://httpbin.org/post"
}
python_modules.htm
广告