我在文件发送中使用MultipartPostHandler。我的代码如下:
params = {'file':open(file_name, 'rb')}
headers = {'cookie':session_id}
urllib2.install_opener(urllib2.build_opener(MultipartPostHandler.MultipartPostHandler))
response = urllib2.urlopen(urllib2.Request("www.example.com/upload", params, headers))
如何在不使用MultipartPostHandler的情况下执行相同操作(将文件发送到服务器)?最好只使用buid-in python模块和urllib2。是否可能。
答案 0 :(得分:1)
MultipartPostHandler需要使用easy_install,pip或者安装它 来源。我想写一些不会的python脚本 需要新的安装。
只需将其添加到原始脚本中 - 它只是一个文件。复制粘贴code for the module。
答案 1 :(得分:0)
不幸的是,没有直接的方法可以使用urllib2发布多部分文件。但是有一些方法可以通过使用mimetype和mimetools模块编写自定义表单对象来实现这一点。您可以follow this recipe并使用您的表单使用urllib2进行多部分上传。
(在Python3中,urllib.request数据可以获取指向文件对象的指针,并将整个文件读入内存)