我試圖將cURL轉換爲Python請求,但不起作用。將cURL轉換爲Python請求錯誤
捲曲:curl -kv -H 'Content-Type: application/json' 'https://IP-address/api/v1/login' -d '{"username":"api", "password":"APIPassword"}'
我的Python請求的代碼:
import requests
url = "https://IP-address/api/v1/login"
payload = "'{\"username\":\"api\", \"password\":\"APIPassword\"}'"
headers = {
'Content-Type': "application/json",
'cache-control': "no-cache",
}
response = requests.request("GET", url, headers=headers, data=payload, verify=False)
print(response.text)
不工作,並給了我400錯誤的請求錯誤。
我嘗試使用https://curl.trillworks.com/
這給了我下面的代碼也不起作用轉換。
import requests
url = 'https://IP-address/api/v1/login'
headers = {
'Content-Type': 'application/json',
}
data = '{"username":"api", "password":"APIPassword"}'
output = requests.get(url, data=data, verify=False)
print (output)
任何人都可以請幫助我在這裏找出問題。
編輯:我已經編輯第二腳本生成輸出:其中給出500錯誤
你在cURL命令中指定的標誌怎麼樣?你爲什麼不把它們包含在你的python腳本中? –
400錯誤的請求可能源於你的原始'payload'是無效的JSON。你的'curl'命令在JSON周圍有單引號('''),但是這些''bash'會將整個事件解釋爲單個參數。 – Kendas
@AakashVerma'-k'是'--insecure',它與'verify = False'相同; '-v'是'--verbose'; '-H'是'--header'; '-d'是'--data' – Kendas