1
我想用一個REST API和用於發送形成它們的格式是:如何通過表單數據在python中發送請求?
data[Passenger][0][passportnumber]:
data[Passenger][0][fname]:
data[Reservation][id]:6113081
data[Passenger][0][latinfname]:faezeh
data[Passenger][0][age]:adl
當我郵遞員送它讓我的希望的答案,但我當我發送與pyhton這一請求,我不能得到正確的回答。我的Python要求:
data = {
'data[Reservation][id]':6112211,
'data[Passenger][0][latinfname]':'faeze',
'data[Passenger][0][age]':'adl'}
response = requests.post("https://travel.ir/api" , data = data, auth=('user', 'password'))
PS:當郵遞員將我的請求,Python代碼它給回是這樣的:)
import requests
url = "https://travel.ir/api"
querystring = {"token":"token","member_id":"member_id"}
payload = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][passportnumber]\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][fname]\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Reservation][id]\"\r\n\r\n6113081\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][latinfname]\"\r\n\r\nfaezeh\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][age]\"\r\n\r\nadl\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][birthday]\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][passportplaceissue]\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger[0][lname]\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][latinlname]\"\r\n\r\nfaeze\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][gender]\"\r\n\r\n1\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Reservetion][email]\"\r\n\r\[email protected]\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][nationalcode]\"\r\n\r\n1111111111\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][nationality]\"\r\n\r\nIRN\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data[Passenger][0][passportexpdate]\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--"
headers = {
'content-type': "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
'authorization': "Basic wwwwwww",
'cache-control': "no-cache",
'postman-token': "wwwwwww"
}
response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
print(response.text)
你得到Python的正確答案,那麼你的問題是什麼? – Harsha
[Post JSON using Python Requests]可能的重複(https://stackoverflow.com/questions/9733638/post-json-using-python-requests) – mkrieger1
您的意思是「無法得到正確答案」?無論如何,它看起來像你的Python'data'變量的結構不符合你所顯示的預期輸入,這似乎表明'data'是一個帶有兩個鍵('Passenger'和'Reservation')的字典, Passenger'鍵的值是一個列表。 – larsks