python 搭建简单的http server,可直接post文件的实例
server:
#coding=utf-8 fromBaseHTTPServerimportBaseHTTPRequestHandler importcgi classPostHandler(BaseHTTPRequestHandler): defdo_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('Formdata:n') forfieldinform.keys(): field_item=form[field] filename=field_item.filename filevalue=field_item.value filesize=len(filevalue)#文件大小(字节) #printlen(filevalue) #print(filename) withopen(filename.decode('utf-8'),'wb')asf: f.write(filevalue) return defStartServer(): fromBaseHTTPServerimportHTTPServer sever=HTTPServer(("",8080),PostHandler) sever.serve_forever() if__name__=='__main__': StartServer()
client:
#coding=utf-8 importrequests url="http://172.16.1.101:8080" path="/home/ly/ly.exe" printpath files={'file':open(path,'rb')} r=requests.post(url,files=files) print(r.url) print(r.text)
以上这篇python搭建简单的httpserver,可直接post文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。