2017-02-13 131 views
0

我有一個正常的捲曲要求:CONVER捲曲與--form到Python請求

curl --form "bio[0][email protected]/12345.jpg" --form "bio[1][email protected]/6789.jpg" --form "Verify=Verfiy" http://192.45.35.89/test.php 

,我試圖轉換到Python請求:

requests.post('http://192.45.35.89/test.php', data = { 
    'bio' : [ 
     ('12345.jpg', open('images/12345.jpg', 'rb'), 'image/png'), 
     ('6789.jpg', open('images/6789.jpg', 'rb'), 'image/png') 
    ], 
    'Verify' : 'Verify' 
}) 

請求的Python版本產生服務器錯誤'文件未找到或不可訪問'

我是否正確地將curl請求轉換爲python請求?任何指針將不勝感激。

回答

1

您需要將文件發送的files字典作爲捲曲不發送數據的multipart/form-data的:

requests.post('http://192.45.35.89/test.php', 
    files = { 
     'bio[0]' : ('12345.jpg', open('images/12345.jpg', 'rb'), 'image/png'), 
     'bio[1]' : ('6789.jpg', open('images/6789.jpg', 'rb'), 'image/png') 
    }, 
    data = {'Verify' : 'Verify'}) 

參考:POST a Multipart-Encoded File