【发布时间】:2013-08-01 16:59:47
【问题描述】:
我在这方面相当菜鸟,一直在尝试使用 requests 模块到 post 多部分/表单数据。澄清一下,我尝试使用的确切测试用例与https://github.com/kennethreitz/requests/issues/1081 中的测试用例相同。即我正在尝试在没有文件的情况下执行post:
--3eeaadbfda0441b8be821bbed2962e4d
Content-Disposition: form-data; name="key1"
value1
--3eeaadbfda0441b8be821bbed2962e4d
根据线程上的讨论,我尝试MultiPart form data scheme 执行以下操作:
import requests
from requests_data_schemes import multipart_formdata as mfd
post_data = [('mouseAction', 'toggle'), ('zone' ,'10')]
post_data = mfd(post_data)
headers = {'Content-Type': 'multipart/form-data'}
req = requests.post(<url>, data=post_data, headers=headers)
但是,测试服务器向我抛出一个错误,说它无法检测到多部分表单数据的边界。
我也尝试在标题中提供边界,但显然它不起作用。
boundary = post_data[2: post_data.find('\r\n')]
headers = {'Content-Type': 'multipart/form-data; boundary={}'.format(boundary)}
我错过了一些简单的东西吗?
附:通过一些冲浪,我找到了一些使用 base urllib2 的解决方案,但这将是我最后的手段,因为 requests 让我可以轻松地做很多事情。
【问题讨论】:
标签: python python-2.7 multipartform-data python-requests