表单数据post默认为application/x-www-form-urlencode,可以为<form>标签加入属性enctype=multipart/form-data,使得post的数据按multipart/form-data编码,这种格式通常用于文件上传,二进制传输,但是普通表单数据也可以使用multipart/form-data。
python处理multipart/form-data的其中一个模块是poster,大体使用方法如下:
导入模块中的相关函数
from poster.encode import multipart_encode,MultipartParam
from poster.streaminghttp import register_openers
首先,用register_openers()把http流处理器绑定到urllib2上
opener = poster.streaminghttp.register_openers()
这里注意,之前用
#绑定cookie,自动处理cookie
cj = cookielib.LWPCookieJar()
#生成一个带cookie的opener,可以使用opener.open()打开URL
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#安装opener,使得可以直接用urllib2.urlopen()带上cookie
urllib2.install_opener(opener)