如何使用请求

时间:2015-05-06 15:51:43

标签: python python-3.x python-requests

我想使用请求模块(Python 3)上传图像。可悲的是,服务器回答我的请求时出错,说我应该只上传jpg,png或gif类型的文件。 我想我应该填写表格的每个字段,但我想弄清楚尽管我的所有测试都是如此。

以下是HTML表单:

<form class="upload" enctype="multipart/form-data" action="?action=upload" method="post">
            <h3>Envoyez votre image !</h3>
    <input name="MAX_FILE_SIZE" value="15360000" type="hidden" /> 
    <input name="img" size="30" type="file" />
    <input value="Envoyer" type="submit" />
</form>

我使用这个Python代码:

with open(image, 'rb') as img:
    toup = {'img': (os.path.basename(image), img)}
    res= requests.post('http://url/?action=upload', files = toup)

如何填写MAX_FILE_SIZE字段并指定上传文件的类型?

2 个答案:

答案 0 :(得分:1)

你可以set the mime type文件:

toup = {'img': (os.path.basename(image), img, 'image/jpeg')}

要获取文件的确切MIME,您可以使用mimetypes库。

答案 1 :(得分:0)

MAX_FILE_SIZE似乎是一个普通的HTTP POST数据:

with open(image, 'rb') as img:
    toup = {'img': (os.path.basename(image), img)}
    res= requests.post('http://url/?action=upload', files = toup, data={'MAX_FILE_SIZE': '15360000'})