我有一个正常的curl请求。

curl --form "bio[0]=@images/12345.jpg" --form "bio[1]=@images/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请求?如果有任何指导意见,我们将不胜感激。

python
curl
python-requests
Abraham Guerra
Abraham Guerra
发布于 2017-02-14
1 个回答
Louisiana Hasek
Louisiana Hasek
发布于 2017-02-14
已采纳
0 人赞同

你需要用files的字典来发送文件,像curl那样用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')