我需要複製的機器人框架下面的API調用:如何使機器人框架POST(REST)API與
curl -X POST "http://xyz/api/createApp" -H "Content-Type:application/json" -d @/tmp/testfile.json
testfile.json有一個JSON的有效載荷。我無法將Json文件的內容作爲正文發送。
我已經導入了HTTP庫。但是沒有看到任何關鍵字來使用文件進行API調用。
我需要複製的機器人框架下面的API調用:如何使機器人框架POST(REST)API與
curl -X POST "http://xyz/api/createApp" -H "Content-Type:application/json" -d @/tmp/testfile.json
testfile.json有一個JSON的有效載荷。我無法將Json文件的內容作爲正文發送。
我已經導入了HTTP庫。但是沒有看到任何關鍵字來使用文件進行API調用。
http://bulkan.github.io/robotframework-requests/#Post有文件參數。你可以做的是使用OperatingSystem庫中的Get File
關鍵字並將其傳遞給Post關鍵字。
Bulkan的robotframework-requests很不錯。但是,如果你可以用更少的度日,你可以做你自己的本地的lib/posthttp.py中的幾行是這樣的:
import requests
import json
def do_requests_post(url=None, data=None, headers={"Content-Type":"application/json"}):
return requests.post(url, data=data, headers=json.loads(headers))
def do_requests_request(method="GET" url=None, data=None, headers={}):
return requests.request(url, method=method, data=data, headers=json.loads(headers))
注意,返回的對象是豐富和強大的「響應」,這具有成員函數.json()
(如果.text
被感知爲JSON,則返回字典)和.status_code
(int)。使用雙反斜線和引號喜歡當
它完美的作品:
捲曲-i -H '接受:應用/ JSON' -H '內容類型:應用程序/ JSON' -X POST -d「{\ 「target \」:\「5142221345 \」,\「source \」:\「432567890 \」,\「messages \」:[{\「format \」:\「AMR \」,\「data \ 「binarydata ... \」}]}「http://10.4.4.11:8089/v1/voice/add
注:1)這個mini-lib會給讀者留下類似cookies的東西; 2)你無法直接從RF調用請求的唯一原因是因爲RF的自動魔術病毒搜索混合了requests.Request對象和request.request()函數。 – MarkHu