当前位置: 首页 > 编程笔记 >

Python实现基于HTTP文件传输实例

满子实
2023-03-14
本文向大家介绍Python实现基于HTTP文件传输实例,包括了Python实现基于HTTP文件传输实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Python实现基于HTTP文件传输的方法。分享给大家供大家参考。具体实现方法如下:

一、问题:

因为需要最近看了一下通过POST请求传输文件的内容 并且自己写了Server和Client实现了一个简单的机遇HTTP的文件传输工具

二、实现代码:

Server端:

#coding=utf-8

from BaseHTTPServer import BaseHTTPRequestHandler

import cgi

class   PostHandler(BaseHTTPRequestHandler):

    def do_POST(self):

        form = cgi.FieldStorage(

            fp=self.rfile,

            headers=self.headers,

            environ={'REQUEST_METHOD':'POST',

                     'CONTENT_TYPE':self.headers['Content-Type'],

                     }

        )

        self.send_response(200)

        self.end_headers()

        self.wfile.write('Client: %sn ' % str(self.client_address) )

        self.wfile.write('User-agent: %sn' % str(self.headers['user-agent']))

        self.wfile.write('Path: %sn'%self.path)

        self.wfile.write('Form data:n')

        for field in form.keys():

            field_item = form[field]

            filename = field_item.filename

            filevalue  = field_item.value

            filesize = len(filevalue)#文件大小(字节)

            print len(filevalue)

            with open(filename.decode('utf-8')+'a','wb') as f:

                f.write(filevalue)

        return

if __name__=='__main__':

    from BaseHTTPServer import HTTPServer

    sever = HTTPServer(('localhost',8080),PostHandler)

    print 'Starting server, use <Ctrl-C> to stop'

    sever.serve_forever()

Client端:
#coding=utf-8

import requests

url = 'http://localhost:8080'

path = u'D:快盘阿狸头像.jpg'

print path

files = {'file': open(path, 'rb')}

r = requests.post(url, files=files)

print r.url,r.text

希望本文所述对大家的Python程序设计有所帮助。

 类似资料:
  • 本文向大家介绍基于python实现上传文件到OSS代码实例,包括了基于python实现上传文件到OSS代码实例的使用技巧和注意事项,需要的朋友参考一下 基础环境 小文件上传 分片上传 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍python基于xmlrpc实现二进制文件传输的方法,包括了python基于xmlrpc实现二进制文件传输的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python基于xmlrpc实现二进制文件传输的方法。分享给大家供大家参考。具体实现方法如下: 服务器端: 客户端代码: 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍Python如何实现自带HTTP文件传输服务,包括了Python如何实现自带HTTP文件传输服务的使用技巧和注意事项,需要的朋友参考一下 一行命令搭建一个基于python的http文件传输服务 由于今天朋友想要一个文件,而我恰好有,因为这个文件比较大,网速不是很给力,所以想到了python自己有这么一个功能,这样不仅不需要下载其他软件,下载速度也是噌噌的 2333333 python

  • 本文向大家介绍python实现ftp文件传输功能,包括了python实现ftp文件传输功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现ftp文件传输的具体代码,供大家参考,具体内容如下 主要步骤可以分为以下几步: 1.读取文件名 2.检测文件是否存在 3.打开文件 4.检测文件大小 5.发送文件大小和 md5值给客户端 6.等客户端确认 7.开始边读边发数据 服务

  • 如何通过MAP-Reduce实现文件传输?为了实现这一点,我需要在映射器、还原器和作业的输入-输出中设置哪些参数?

  • 本文向大家介绍基于Java文件输入输出流实现文件上传下载功能,包括了基于Java文件输入输出流实现文件上传下载功能的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Java实现文件上传下载功能的具体代码,供大家参考,具体内容如下 前端通过form表单的enctype属性,将数据传递方式修改为二进制”流“的形式,服务端(servlet)通过  getInputStream() 获取流信息,