相关疑难解决方法(0)

用于发送multipart/form-data请求的工具

我目前正在使用Chrome Addon Postman-REST Client轻松创建POST/GET请求,这是一个非常好的工具.

现在我想调试一个上传脚本,我正在寻找一个工具来将请求编码为"multipart/form-data",这样我也可以发送一个文件.

谢谢你的帮助

multipartform-data

550
推荐指数
2
解决办法
45万
查看次数

Python请求多部分HTTP POST

我想知道你如何使用Python请求翻译这样的东西?在urllib2中,您可以手动操作通过线路发送到API服务的数据,但是请求声明多部分文件上传很容易.但是,当尝试使用请求库发送相同的请求时,我认为它没有正确地为内容类型中的每个部分指定一些关键参数.有人可以就这件事情说清楚.先感谢您!

def upload_creative(self, account_id, file_path):
    """"""
    boundary = '-----------------------------' + str(int(random.random()*1e10))
    parts = []

    # Set account ID part.
    parts.append('--' + boundary)
    parts.append('Content-Disposition: form-data; name="account_id"')
    parts.append('')
    parts.append(str(account_id))

    # Set creative contents part.
    parts.append('--' + boundary)
    parts.append('Content-Disposition: form-data; name="userfile"; filename="%s"' % file_path)
    parts.append('Content-Type: %s' % mimetypes.guess_type(file_path)[0] or 'application/octet-stream')
    parts.append('')
    # TODO: catch errors with opening file.
    parts.append(open(file_path, 'r').read())

    parts.append('--' + boundary + '--')
    parts.append('')

    body = '\r\n'.join(parts)

    headers = {'content-type': 'multipart/form-data; boundary=' + boundary}
    url = self._resolve_url('/a/creative/uploadcreative')
    req = urllib2.Request(url, headers=headers, …
Run Code Online (Sandbox Code Playgroud)

python multipartform-data urllib2 python-requests

5
推荐指数
1
解决办法
2万
查看次数