簡體   English   中英

如何使用 JSON 主體發送 POST 請求?

[英]How to send a POST request with JSON body?

我正在嘗試發送POST請求。 對於這個請求,我想在正文中發送一個JSON但這不起作用,它給出了一個錯誤消息: can't concat str to bytes 使用JSON主體提交POST請求的正確方法是什么?

import http.client, urllib.parse

def update_status(status, versionId):
    conn = http.client.HTTPConnection(server_ip, server_port)
    body = {
        "status": status,
        "id": versionId
    }
    print("body:", body)
    headers = {"Content-type": "application/json"}
    conn.request("POST", "", body, headers)
    response = conn.getresponse()
    print("response status:", response.status)
    print("response reason:", response.reason)
    return response
return update_status

考慮使用請求模塊。 如下所示:

import requests

body = {"key": "value"}
response = requests.post("http://<SOME_URL>", json=body)

您需要先序列化數據。

data = json.dumps(body)
data = data.encode('utf8')
conn.request("POST", "", data, headers)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM