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利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python单例模式的两种实现方法
Aug 14 Python
浅析Python数据处理
May 02 Python
Python实现聊天机器人的示例代码
Jul 09 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
python画一个玫瑰和一个爱心
Aug 18 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
Mar 01 Python
Python一键安装全部依赖包的方法
Aug 12 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
使用jupyter notebook运行python和R的步骤
Aug 13 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
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
php curl 伪造IP来源的实例代码
2012/11/01 PHP
解析ajax事件的调用顺序
2013/06/17 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
yii中widget的用法
2014/12/03 PHP
PHP异常处理Exception类
2015/12/11 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
javascript AOP 实现ajax回调函数使用比较方便
2010/11/20 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
jquery序列化方法实例分析
2015/06/10 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
2020/01/12 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
python+Django实现防止SQL注入的办法
2019/10/31 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
酒店总经理欢迎词
2014/01/08 职场文书
中华魂演讲稿
2014/05/13 职场文书
终止劳动合同通知书
2015/04/16 职场文书
对公司的意见和建议
2015/06/04 职场文书
教育教学工作反思
2016/02/24 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python
mysql 带多个条件的查询方式
2021/06/05 MySQL
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫