[英]Converting CURL command to Python with requests
我想使用 Python 中的請求庫來發出 POST 請求。 但是我嘗試使用的 API 使用 curl 來發出請求,但我不知道如何轉換它。
這是 curl 命令:
curl -X POST "https://api/recognize?secret_key=abc" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "image=@/path/to/image.jpg;type=image/jpeg"
目前我只是使用 URL 而不是圖像本身作為解決方法。
代碼:
params = (
('image_url', '2015-BMW-320djpg'),
('secret_key', 'abc'),
)
response = requests.post('https://api/recognize_url', params=params)
據我所知,沒有“cURL -> Requests”翻譯器,但是將一個請求(以及類似的請求)翻譯為使用請求模塊應該相當容易。
files = {'image': open('/path/to/image.jpg', 'rb')}
params = {'secret_key': 'abc'}
headers = {'accept': 'application/json'}
response = requests.post(url, files=files, params=params, headers=headers)
同時存在一個轉換器。 看看https://curl.trillworks.com/ 。
我想使用python中的“ requests”庫發出POST請求。 但是我嘗試使用的api使用curl發出請求,我不知道如何轉換它。
這是curl命令
curl -X POST“ https:// api / recognize?secret_key = abc ” -H“接受:application / json” -H“內容類型:multipart / form-data” -F“ image = @ / path / to / image.jpg; type = image / jpeg“
目前,我只是使用url而不是圖像本身來解決。
代碼:
params = (
('image_url', '2015-BMW-320djpg'),
('secret_key', 'abc'),
)
response = requests.post('https://api/recognize_url', params=params)
首先,將您的命令粘貼到curlconverter.com/python/ 中,它會將其轉換為
import requests
headers = {
'accept': 'application/json',
}
params = {
'secret_key': 'abc',
}
files = {
'image': open('/path/to/image.jpg;type=image/jpeg', 'rb'),
}
response = requests.post('https://api/recognize', params=params, headers=headers, files=files)
然后, 'image': open('/path/to/image.jpg;type=image/jpeg', 'rb'),
行是錯誤的,因為;type=image/jpeg
不是文件路徑的一部分你的形象。 要更正它,您需要閱讀-F
標志的 curl 文檔和files=
參數的請求文檔(或只是高級用法頁面),以了解您需要將其更改為
files = {
'image': ('image.jpg', open('/path/to/image.jpg', 'rb'), 'image/jpeg'),
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.