如果只是要模擬提交一個不包含文件字段的表單,實現起來是很簡單的,但涉及到文件上傳就有一點小復雜,需要自己對文件進行編碼,或者使用第三方模塊。
如果機器上有 PycURL,那么可以使用 PycURL 來上傳文件。
不過,由于 PycURL 需要用到 curl,在 Windows 下安裝可能會有點麻煩,除 PycURL 外,也有一些其它實現 POST 文件上傳的方式,比如 這兒 的 2 樓有人貼出了一個將文件進行編碼之后再 POST 的方法,另外還有MultipartPostHandler、urllib2_file、poster 等第三方模塊。但 MultipartPostHandler 這個模塊似乎比較老了,urllib2_file 我試用了一下遇到錯誤沒有成功,這兒我想介紹的是另外一個第三方模塊 poster。
如果機器上安裝了 Python 的 setuptools,可以通過下面的命令來安裝 poster:
easy_installposter裝完之后,就可以像下面這樣上傳文件了:
[python] view plain copy很簡單,文件就上傳完成了。
其中那個 register_openers() 相當于以下操作:
[python] view plain copy新聞熱點
疑難解答