簡體   English   中英

Python請求發送帶有表單數據輸入的POST請求

[英]Python requests to send POST request with form-data input

我有一個向系統發送請求的 API,我們將正文請求作為表單數據選項發送。

  1. 鍵:文檔,值:sample.doc,類型:文件
  2. 鍵:請求,值:{“數據”:{“數字”:“17329937082”,“格式”:“MSW”}},類型:文本

如何使用請求在 Pyhton 腳本中實現這一點。 這在 Postman 中有效,我試圖用 python 腳本調用這個 API。

對於表單編碼數據,您需要將data kwarg 與字典配對,而不是字符串。 為了演示這是如何工作的,我將使用requests.Request對象:

from requests import Request
import json

request_dict = {'Data': {'Number': "17329937082", "Format": "MSW"}}

data = {
    'Document': open('sample.doc', 'rb'),   # open in bytes-mode
    'Request': json.dumps(request_dict)     # formats the dict to json text
}

r = Request('GET', 'https://my-url.com', data=data)
req = r.prepare()

r.headers
{'Content-Length': '80595', 'Content-Type': 'application/x-www-form-urlencoded'}

所以在正常的請求中,它看起來像:

import requests
import json

request_dict = {'Data': {'Number': "17329937082", "Format": "MSW"}}

data = {
    'Document': open('sample.doc', 'rb'),   # open in bytes-mode
    'Request': json.dumps(request_dict)     # formats the dict to json text
}

r = requests.get('my_url.com', data=data)

暫無
暫無

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

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