python模拟提交表单文件_python 模拟表单上传文件

转载: http://oldj.net/article/python-upload-file-via-form-post/

最近要用 Python 模拟表单上传文件,搜索了一下常见的解决方案。

如果只是要模拟提交一个不包含文件字段的表单,实现起来是很简单的,但涉及到文件上传就有一点小复杂,需要自己对文件进行编码,或者使用第三方模块。

如果机器上有 PycURL,那么可以使用 PycURL 来上传文件。不过, PycURL 需要用到 curl;

比如 这儿 的 2 楼有人贴出了一个将文件进行编码之后再 POST 的方法,另外还有 MultipartPostHandler、urllib2_file、poster 等第三方模块。但 MultipartPostHandler 这个模块似乎比较老了,urllib2_file 我试用了一下遇到错误没有成功,这儿我想介绍的是另外一个第三方模块 poster。

如果机器上安装了 Python 的 setuptools,可以通过下面的命令来安装 poster:

装完之后,就可以像下面这样上传文件了:

fromposter.encodeimportmultipart_encode

fromposter.streaminghttpimportregister_openers

importurllib2

# 在 urllib2 上注册 http 流处理句柄

register_openers()

# 开始对文件 "DSC0001.jpg" 的 multiart/form-data 编码

# "image1" 是参数的名字,一般通过 HTML 中的  标签的 name 参数设置</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值