📜  Python请求——带有标题和正文的 POST 请求

📅  最后修改于: 2022-05-13 01:55:28.996000             🧑  作者: Mango

Python请求——带有标题和正文的 POST 请求

HTTP 标头让客户端和服务器通过 HTTP 请求或响应传递附加信息。所有的标题都不区分大小写,标题字段由冒号分隔,明文字符串格式的键值对。

带有标题的请求

请求根本不会根据指定的标头改变其行为。标头只是简单地传递到最终请求中。所有标头值都必须是字符串、 bytestring 或 Unicode。虽然允许,但建议避免传递 Unicode 标头值。我们可以使用我们指定的标头发出请求,并且通过使用 headers 属性,我们可以告诉服务器有关请求的附加信息。

标题可以是Python字典,如 {“标题名称”:“标题值”}

Authentication Header 告诉服务器你是谁。通常,我们可以通过 Authorization 标头发送身份验证凭据以发出经过身份验证的请求。

例子:



请求对象结构

请求与身体

POST 请求通过消息体传递数据,Payload 将设置为data参数。 data 参数采用字典、元组列表、字节或类似文件的对象。您需要将在请求正文中发送的数据调整为指定的 URL。

句法:

下面给出了一些有助于更好地理解这个概念的实现。

示例 1:发送带有数据作为负载的请求

Python3
import requests
 
url = "https://httpbin.org/post"
 
data = {
    "id": 1001,
    "name": "geek",
    "passion": "coding",
}
 
response = requests.post(url, data=data)
 
print("Status Code", response.status_code)
print("JSON Response ", response.json())


Python
import requests
import json
 
url = "https://httpbin.org/post"
 
headers = {"Content-Type": "application/json; charset=utf-8"}
 
data = {
    "id": 1001,
    "name": "geek",
    "passion": "coding",
}
 
jsonObject = json.dumps(data)
response = requests.post(url, headers=headers, json=jsonObject)
 
print("Status Code", response.status_code)
print("JSON Response ", response.json())


输出:

示例 2:发送带有 JSON 数据和标头的请求

Python

import requests
import json
 
url = "https://httpbin.org/post"
 
headers = {"Content-Type": "application/json; charset=utf-8"}
 
data = {
    "id": 1001,
    "name": "geek",
    "passion": "coding",
}
 
jsonObject = json.dumps(data)
response = requests.post(url, headers=headers, json=jsonObject)
 
print("Status Code", response.status_code)
print("JSON Response ", response.json())

输出: