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