不使用MultipartPostHandler(Python)发送文件

不使用MultipartPostHandler(Python)发送文件,python,upload,urllib2,Python,Upload,Urllib2,我正在文件发送中使用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.ex

我正在文件发送中使用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,我如何做同样的事情(将文件发送到服务器)?最好只使用内置的python模块和urllib2。有可能吗。

不幸的是,没有直接的方法可以使用urllib2发布多部分文件。但有一些方法可以通过使用mimetype和mimetools模块编写自定义表单对象来实现这一点。您可以使用urllib2进行多部分上传,并采用您的表单

(在Python3中,urllib.request数据可以获取指向文件对象的指针,这样就可以将整个文件读入内存)


MultipartPostHandler需要使用easy_install、pip或 来源。我想写一个不会 需要新安装


只需将它添加到原始脚本中,它只是一个文件。复制粘贴。

MultipartPostHandler有什么问题?它只使用内置软件,是免费许可的,源代码可以在线获取。MultipartPostHandler需要使用easy_install、pip或从源代码安装。我想编写不需要新安装的python脚本。