2017-09-18 11 views
1

私は残りの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:

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) 
+0

あなたはPythonで正しい答えを得ています。だからあなたの質問は何ですか? – Harsha

+1

[Pythonリクエストを使用してJSONを投稿する](https://stackoverflow.com/questions/9733638/post-json-using-python-requests) – mkrieger1

+1

「正しい答えを得ることができません」という意味ですか?とにかく、あなたのPythonの 'data'変数の構造が、あなたが示した期待どおりの入力と一致しないように見えます。これは、' data'が2つのキー(PassengerとReservation) 'Passenger'キーの値がリストであることを示します。 – larsks

答えて

-1

は(json.dumpsを使用することにより、送信する前にデータを変換する)

:郵便配達はPythonコードに私の要求を変換するとき、それは戻って、このような何かを与えます
response = requests.post("https://travel.ir/api", data=json.dumps(data), auth=('user', 'password')) 
0

最初は空白の値を省略していましたが、空の値ではなく空の文字列を送信しようとしましたが正常に動作しました。

関連する問題