2012-04-02 43 views
0

我在文件發送中使用MultipartPostHandler。我的代碼如下:發送文件沒有MultipartPostHandler(Python)

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

'MultipartPostHandler'有什麼問題?它只使用內置插件,可以免費獲得許可,並且可以在線獲得源代碼。 – 2012-04-02 08:31:26

+0

MultipartPostHandler需要使用easy_install,pip或來源進行安裝。我想要編寫不需要新安裝的python腳本。 – Martynas 2012-04-02 09:20:41

回答

0

不幸的是,沒有直接的方法可以使用urllib2發佈多個部分文件。但是有一些方法可以通過使用mimetype和mimetools模塊編寫自定義表單對象來實現。您可以使用follow this recipe並採用您的表單使用urllib2做多部分上傳。

(在Python3過,urllib.request數據可以採取一個指向文件對象和,它讀取整個文件到存儲器)

1

MultipartPostHandler需要使用的easy_install,PIP或從源 來安裝它。我想要編寫不會 需要新安裝的python腳本。

只需將其添加到您的原始腳本 - 它只是一個文件。複製粘貼code for the module