python 搭建简单的http server,可直接post文件的实例


Posted in Python onJanuary 03, 2019

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)
	 #print (filename)
   with open(filename.decode('utf-8'),'wb') as f:
    f.write(filevalue)
  return
 
def StartServer():
 from BaseHTTPServer import HTTPServer
 sever = HTTPServer(("",8080),PostHandler)
 sever.serve_forever()
 
 
 
 
if __name__=='__main__':
 StartServer()

client:

#coding=utf-8
import requests
url = "http://172.16.1.101:8080"
path = "/home/ly/ly.exe"
print path
files = {'file': open(path, 'rb')}
r = requests.post(url, files=files)
print (r.url)
print (r.text)

以上这篇python 搭建简单的http server,可直接post文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基于queue和threading实现多线程下载实例
Oct 08 Python
Python类的多重继承问题深入分析
Nov 09 Python
使用Python程序抓取新浪在国内的所有IP的教程
May 04 Python
Python解析树及树的遍历
Feb 03 Python
Python装饰器用法实例总结
Feb 07 Python
python基于http下载视频或音频
Jun 20 Python
python操作excel的方法
Aug 16 Python
python3正则模块re的使用方法详解
Feb 11 Python
在pycharm中debug 实时查看数据操作(交互式)
Jun 09 Python
Python操控mysql批量插入数据的实现方法
Oct 27 Python
Python在后台自动解压各种压缩文件的实现方法
Nov 10 Python
理解深度学习之深度学习简介
Apr 14 Python
Python中shapefile转换geojson的示例
Jan 03 #Python
Python关于excel和shp的使用在matplotlib
Jan 03 #Python
Python使用folium excel绘制point
Jan 03 #Python
Python获取航线信息并且制作成图的讲解
Jan 03 #Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 #Python
Python图像滤波处理操作示例【基于ImageFilter类】
Jan 03 #Python
python 调用有道api接口的方法
Jan 03 #Python
You might like
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
php全角字符转换为半角函数
2014/02/07 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
js选项卡的实现方法
2015/02/09 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
python实现矩阵乘法的方法
2015/06/28 Python
Python模块包中__init__.py文件功能分析
2016/06/14 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
matplotlib中legend位置调整解析
2017/12/19 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
python实现程序重启和系统重启方式
2020/04/16 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
线程的基本概念、线程的基本状态以及状态之间的关系
2012/10/26 面试题
学习2014年全国两会心得体会
2014/03/12 职场文书
经营理念标语
2014/06/21 职场文书
社区党建工作总结2015
2015/05/13 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers