urllib2でmultipart/form-dataを扱う

今日もPython
サポートする様子がないので自前で用意する。
http://codepad.org/0hBSIhCh


使い方は

import urllib2, cookielib
import MultipartPostHandler

cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie),MultipartPostHandler.MultipartPostHandler)

url = "http://example.com/post"
post_data = {"name" : "test", "file" : open("filename.mpg", "rb"}
open = opener.open(url, post_data)

みたいな。URLエンコードを行うとファイルが送信されないはず。

ニコニコ動画に動画をUPしてみる

http://codepad.org/hzww8HCU

ほんとにUPするだけ。
エンコード作業が終了するまでグルグル回してやれば公開も可能なんだろうが。