2017-02-13 155 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