学习啦>学习电脑>电脑安全>局域网安全>

python局域网传输文件

时间: 林泽1002 分享

  如果只是要模拟提交一个不包含文件字段的表单,实现起来是很简单的,但涉及到文件上传就有一点小复杂,需要自己对文件进行编码,或者使用第三方模块。下面是学习啦小编收集整理的python局域网传输文件,希望对大家有帮助~~

  python局域网传输文件

  方法/步骤

  如果机器上有 PycURL,那么可以使用 PycURL 来上传文件。

  不过,由于 PycURL 需要用到 curl,在 Windows 下安装可能会有点麻烦,除 PycURL 外,也有一些其它实现 POST 文件上传的方式,比如 这儿 的 2 楼有人贴出了一个将文件进行编码之后再 POST 的方法,另外还有MultipartPostHandler、urllib2_file、poster 等第三方模块。但 MultipartPostHandler 这个模块似乎比较老了,urllib2_file 我试用了一下遇到错误没有成功,这儿我想介绍的是另外一个第三方模块 poster。

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

  easy_install poster

  # test_client.pyfrom poster.encode import multipart_encodefrom poster.streaminghttp import register_openersimport urllib2# 在 urllib2 上注册 http 流处理句柄register_openers()# 开始对文件 "DSC0001.jpg" 的 multiart/form-data 编码# "image1" 是参数的名字,一般通过 HTML 中的 标签的 name 参数设置# headers 包含必须的 Content-Type 和 Content-Length# datagen 是一个生成器对象,返回编码过后的参数datagen, headers = multipart_encode({"image1": open("DSC0001.jpg", "rb")})# 创建请求对象request = urllib2.Request("http://localhost:5000/upload_image", datagen, headers)# 实际执行请求并取得返回print urllib2.urlopen(request).read()

  5很简单,文件就上传完成了。

  其中那个 register_openers() 相当于以下操作:

  from poster.encode import multipart_encodefrom poster.streaminghttp import StreamingHTTPHandler, StreamingHTTPRedirectHandler, StreamingHTTPSHandlerhandlers = [StreamingHTTPHandler, StreamingHTTPRedirectHandler, StreamingHTTPSHandler]opener = urllib2.build_opener(*handlers)urllib2.install_opener(opener)

  6另外,poster 也可以携带 cookie,比如:

  opener = poster.streaminghttp.register_openers()opener.add_handler(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))params = {'file': open("test.txt", "rb"), 'name': 'upload test'}datagen, headers = poster.encode.multipart_encode(params)request = urllib2.Request(upload_url, datagen, headers)result = urllib2.urlopen(request)

python局域网相关文章:

1.局域网python快速上手

2.怎么搭建局域网YUM服务器

3.局域网怎么搭建YUM服务器

4.网络管理员无工作经验简历怎么写

5.远程操作Mysql数据库

python局域网传输文件

如果只是要模拟提交一个不包含文件字段的表单,实现起来是很简单的,但涉及到文件上传就有一点小复杂,需要自己对文件进行编码,或者使用第三方模块。下面是学习啦小编收集整理的python局域网传输文件,希望对大家有帮助~~ python局域网
推荐度:
点击下载文档文档为doc格式

精选文章

  • 局域网Python中使用POST方式上传文件
    局域网Python中使用POST方式上传文件

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

  • Python2好还是Python3好
    Python2好还是Python3好

    Python的优点自然不用多说,它可以分为两种版本,两种版本都有很大的区别,因此对于初学者来说,不知道该选择Python2还是Python3,到底是Python2号还是Pyt

  • 局域网Python2.75的安装及环境配置教程
    局域网Python2.75的安装及环境配置教程

    Python的语法简洁,功能强大,有大量的第三方开发包(模块),非常适合初学者上手。同时Python不像java一样对内存要求非常高,适合做一些经常性的任务方面

  • 局域网如何安装python
    局域网如何安装python

    最近正在学习python,突然发现python比java好玩多了 。下面是学习啦小编收集整理的局域网如何安装python,希望对大家有帮助~~ 局域网如何安装python 工具/原料

2900272