python发布_python网站发布

"""/etc/python3

@File : IO_HTTP.py

@Time : 2020/7/18 下午3:26

@Author : wangyongqi

@Email : 92644827@qq.com

@SOftware : PyCharm"""

from socket import *

from select import *

importreclassWebServer:def __init__(self,host='0.0.0.0',port=8000,html=None):

self.host=host

self.port=port

self.html=html#做IO多路复用的并发模型

self.__rlist=[]

self.__wlist=[]

self.__xlist=[]

self.create_socket()

self.bind()defcreate_socket(self):

self.sock=socket()

self.sock.setblocking(False)defbind(self):

self.address=(self.host,self.port)

self.sock.bind(self.address)defstart(self):

self.sock.listen(5)print('Listen the port %d'%self.port)

self.__rlist.append(self.sock)whileTrue:

rs,ws,xs=select(self.__rlist,self.__wlist,self.__xlist)for r inrs:if r isself.sock:

connfd,addr=self.sock.accept()

connfd.setblocking(False)

self.__rlist.append(connfd)else:

self.handle(r)#处理客户请求

defhandle(self,connfd):

request=connfd.recv(1024*1024).decode('utf8')

pattern='[A-Z]+\s+(?P/\S*)'result=re.match(pattern,request)ifresult:

info=result.group('info')

self.send_requst(connfd,info)else:#断开客户端

self.__rlist.remove(connfd)

connfd.close()defsend_requst(self,connfd,info):try:

html= open(self.html+info,'rb')print(html)except:

hsstml= """/HTTP/1.1 200 ok

Content-tpe text/html

404"""connfd.send(hsstml.encode())

self.__rlist.remove(connfd)else:

html=html.read()

hsstml= "/HTTP/1.1 200 ok\r\n"hsstml+="Content-tpe text/html\r\n"hsstml+="Content-Length:%d\r\n"%len(html)

hsstml+='\r\n'hsstml=hsstml.encode()

hsstml+=html

connfd.send(hsstml)

self.__rlist.remove(connfd)

connfd.close()#html=html.read()

#url=info[1:]

#if url=='':

#hsstml = """/HTTP/1.1 200 ok

#Content-tpe text/html

# #404

#"""

#connfd.send(hsstml.encode())

#self.__rlist.remove(connfd)

# #else:

#try:

#html=open(url)

#except FileNotFoundError:

#hsstml = """/HTTP/1.1 200 ok

#Content-tpe text/html

# #404

#"""

#connfd.send(hsstml.encode())

#self.__rlist.remove(connfd)

#else:

#html=html.read()

#hsstml = f"""/HTTP/1.1 200 ok

#Content-tpe text/html

# #{html}

#"""

#connfd.send(hsstml.encode())

#self.__rlist.remove(connfd)

if __name__ == '__main__':"""1.使用流程

2.那些量需要用户决定,怎么传入

那组网页 服务端地址"""httpd=WebServer(host='0.0.0.0',port=8578,html='static')

httpd.start()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562659.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数组工具类的使用

数组工具类的使用 package demo02; /* * 数组工具类的使用 * 数组的复制操作 * */ import java.util.*;public class Test10 {public static void main(String[] args) {int[] arr {3,4,2,66,75,4,322,55,33,85,39};System.out.println(Arrays.toString(arr));//排序问题Arra…

输入两个数、用python求他们的和_从键盘上输入俩个实型数,编程求它们的和差积商,要求输出时,保留两位小数C语言编程题:从键盘上输入两个...

从键盘上输入俩个实型数,编程求它们的和差积商,要求输出时,保留两位小数 C语言编程题:从键盘上输入两个www.zhiqu.org 时间: 2020-11-23参考代码:#includevoid main(){ float a,b; printf("请输入两个实数,以空格或者回车分隔&#…

从键盘上录入学生人数和每个学生的分数,按分数降序输出所有的分数,java冒泡排序应用

从键盘上录入学生人数和每个学生的分数,按分数降序输出所有的分数 import java.util.Arrays; import java.util.Scanner;/* * 从键盘上录入学生人数和每个学生的分数,按分数降序输出所有的分数 * java冒泡排序 * */ public class Test12 {public static…

jvm内存结构_JVM系列之内存结构

JVM的内存结构大概分为:堆(Heap):线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Sur…

java从键盘上录入学生人数和每个学生的姓名以及分数,按照分数降序输出,学生名次、学生姓名、学生分数

java从键盘上录入学生人数和每个学生的姓名以及分数,按照分数降序输出,学生名次、学生姓名、学生分数 import java.util.Scanner;/* * 从键盘上录入学生人数和每个学生的姓名以及分数,按照分数降序输出,学生名次、学生姓名、学生…

python label background设置成透明_纯Python绘制满满艺术感的山脊地图

点击上方"蓝字"关注我们Python大数据分析记录 分享 成长添加微信号"CNFeffery"加入技术交流群❝本文示例代码及附件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes❞1 简介下面的这幅图可能很多读者朋友们都看到过&#x…

java二维数组的遍历

java二维数组的遍历 /* * java二维数组的遍历 * 二维数组,数组座位数组元素类型的数组,数组的数组 * */ public class Test14 {public static void main(String[] args) {int[][] arr {{1,2,3},{4,5},{6,7,8,9}};//从arr中取出每个元素//for循环遍历fo…

layout布局_安卓最常见的几种布局

Android中常用的5大布局方式有以下几种:线性布局(LinearLayout):按照垂直或者水平方向布局的组件帧布局(FrameLayout):组件从屏幕左上方布局组件表格布局(TableLayout)&a…

java二维数组存储数据,从键盘上录入学生人数,考试科目数,以及每个学生每科分数,输出每个学生的最高分、最低分、总分、平均分

java二维数组存储数据,从键盘上录入学生人数,考试科目数,以及每个学生每科分数,输出每个学生的最高分、最低分、总分、平均分 import java.util.Scanner;/* * 二维数组存储数据 * 从键盘上录入学生人数,考试科目数&am…

御用导航提示提醒_四维图新推出商用车专用导航“货车通”

导航软件已经成为人们生活中不可或缺的一部分,它能帮助我们能更精准、更省时的规划路线,然而,对于商用车司机来说,更多的行车限制让现有的手机软件远远无法满足商用车的导航需求。近日,四维图新发布了一款专为解决商用…

java方法的语法

java方法的语法 /*** 主方法* 是一种特殊的方法*/ public class Test16 {/*** 方法头,方法的标志,方法的签名,看方法头大致就可以明白方法如何使用* public static void main(String args){}* public 访问修饰符,控制方法的使用范…

openlayers3 根据经纬度 自动画框_用这软件,让你的电脑自动搞黄色

事情是这样,我最近盯着电脑屏幕的时间经常超过 10 个小时,所以需要一款护眼软件缓解眼部疲劳。但无论是 Windows 自带的夜间模式,还是一些 PC 品牌推出的护眼小工具,功能都比较简陋,无法满足我工作和日常所需。我到网上…

java自定义一个方法,用于返回两个整数的和

java自定义一个方法,用于返回两个整数的和 /*** 自定义一个方法* 用于返回两个整数的和*/ public class Test17 {public static int getSum(int a,int b){System.out.println("2getSum方法执行了");int sum ab;System.out.println("3getSum计算的结…

python中res代表什么_在下面的代码中,zip(*res)在python中是什么意思?

以下是Allen Downey在github上的Think Bayes著作中的一段代码:def ReadData(filenameshowcases.2011.csv):"""Reads a CSV file of data.Args:filename: string filenameReturns: sequence of (price1 price2 bid1 bid2 diff1 diff2) tuples"&q…

java定义一个方法,向控制台输出99乘法表

java定义一个方法,向控制台输出99乘法表 /*** 定义一个方法* 向控制台输出99乘法表*/ public class Test18 {public static void main(String[] args) {System.out.println("1main方法执行了");print99();System.out.println("3print99方法执行结束…

python获取文件路径下指定的类型的文件_python学习1-列出指定目录下的指定类型文件...

列出指定目录下的指定类型文件import sysimport osimport getoptdef DisplayFileAndPath(directory, pfix, pfixsetFalse):try:dirlist os.listdir(os.path.abspath(directory))except:print Access denied or No directory: %s %directorysys.exit(2)else:for item in dirlis…

java定义一个方法,向控制台输出一个整数的阶乘

java定义一个方法,向控制台输出一个整数的阶乘 /*** 定义一个方法,向控制台输出一个整数的阶乘*/ public class Test19 {//输出阶乘的方法public static void factorial(int num){int fac 1;for (int i num;i>1;i--){fac*i;}System.out.println(nu…

java定义一个方法,返回a的b次方

java定义一个方法&#xff0c;返回a的b次方 /*** 定义一个方法* 返回a的b次方*/ public class Test20 {public static long pow(int a,int b){long p 1;for (int i 1;i<b;i){p*a;}return p;}public static void main(String[] args) {int a 2;int b 3;long p pow(a,b)…

页眉页脚怎么单独设置某一页里面的_Word小技巧:如何从任意页面开始设置页眉页脚...

一般情况下&#xff0c;在文档中插入页眉页脚&#xff0c;页眉页脚会在文档的每一页都显示。但很多时候&#xff0c;文章的封面页、目录页都是不需要诸如页码类的页眉页脚的。这时候&#xff0c;难道要一页一页地修改吗&#xff1f;不需要。例&#xff1a;点击页眉处&#xff0…

java定义一个方法,返回一个浮点数保留两位小数,考虑四舍五入的结果

java定义一个方法&#xff0c;返回一个浮点数保留两位小数&#xff0c;考虑四舍五入的结果 /*** 定义一个方法* 返回一个浮点数保留两位小数* 考虑四舍五入的结果*/ public class Test21 {public static double keep2(double d){d*100;d0.5;int x (int)(d);return x/100.0;}p…