源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-05-28 12:02 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Python实现基于HTTP文件传输实例
本文实例讲述了Python实现基于HTTP文件传输的方法。分享给大家供大家参考。具体实现方法如下: [b]一、问题:[/b] 因为需要最近看了一下通过POST请求传输文件的内容 并且自己写了Server和Client实现了一个简单的机遇HTTP的文件传输工具 [b]二、实现代码:[/b] [b]Server端: [/b]
[u]复制代码[/u] 代码如下:
#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()
[b]Client端: [/b]
[u]复制代码[/u] 代码如下:
#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程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部