IDE:Pycharm

sever.py

[python] view plain copy

#!/bin/python

#-- coding: UTF-8 --

#文件名:server.py

#create by wzh 2017/10/26

import socket #导入socket模块

import re

from multiprocessing import Process #导入进程模块

福利:私信回复【01】可免费获取python入门教程视频

#设置静态文件根目录

HTML_ROOT_DIR=’./html’

def handle_client(client_socket):

“”“处理客户端连接请求”""

request_data=client_socket.recv(1024)

print(request_data)

request_lines=request_data.splitlines()

for line in request_lines:

print(line)

#‘GET / HTTP/1.1’

request_start_line=request_lines[0].decode(“utf-8”)

print("*"*10)

print(request_start_line)

#提取用户请求的文件名

file_name=re.match(r"\w+ +(/[^ ]*) ",str(request_start_line)).group(1)

if “/” == file_name:

file_name=’/index.html’

#打开文件,读取内容

try:

file=open(HTML_ROOT_DIR+file_name,“rb”)

except IOError:

response_start_line=“HTTP/1.1 404 Not Found\r\n”

response_heads=“Server: My server\r\n”

response_body=“The file not found!”

else:

file_data=file.read()

file.close()

response_start_line=“HTTP/1.1 200 ok\r\n”

response_heads=“Server: My server\r\n”

response_body=file_data.decode(“utf-8”)

response=response_start_line+response_heads+"\r\n"+response_body

print(“response data:”,response)

client_socket.send(bytes(response,“utf-8”))

client_socket.close()

if name==“main”:
#如果直接运行本文件,那么__name__为__main__(此时才运行下面的程序),否则为对应包名

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

创建socket对象

s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)

#host = socket.gethostname()

获取本地主机名

port =1212 #

#print(host)

s.bind(("", port))

绑定端口

s.listen(5)

while True:

c,addr=s.accept()#建立客户端连接

print(‘连接地址’,addr)

handle_client_process=Process(target=handle_client,args=(c,))#ALT+ENTER快捷键生成函数

handle_client_process.start()

c.close()

index.html

html>My Webtitle>head><h1 align="center">welcome!h1><p align="center">这是一个神奇的网站!p>body>html></p> </h1>

运行server.py

在浏览器中输入localhost:1212

python 编写简单网页服务器相关推荐

  1. python网页服务器_python编写简单网页服务器

    这篇文章主要介绍了关于python 编写简单网页服务器,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 IDE:Pycharm sever.py #!/bin/python #-*- c ...

  2. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  3. python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...

  4. python的翻译-Python编写简单的谷歌翻译软件

    Python编写简单的谷歌翻译软件 这是我学习Python的图形模块tkinter时完成的一个小作业,翻译速度快, 直接调用Google翻译的Python接口,界面简洁,已成为我日常编程的小助手^^ ...

  5. python调用扫描仪_使用Python编写简单的端口扫描器的实例分享

    单线程实现单线程实现道理比较简单,这里尝试Soket连接3389,连接成功说明端口开放,否则说明没有开远程服务.随便修改了一下就ok了,代码如下,最终得到自己的IP地址. #!/usr/bin/env ...

  6. python程序-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

  7. python识别ppt文件格式 ——(专栏:基于python编写简单office阅卷程序③)

    ● 研二在读学生,非工科非计算机专业,故代码简陋初级勿喷,本文仅为记录和快乐分享. ○ 感谢肯定,感谢点赞收藏分享,转载请注明本页出处即可. ____Ⓙ即刻@王昭没有君 本文仅为笔者摸索总结-欢迎订正 ...

  8. 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...

  9. python写软件实例-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

最新文章

  1. stm32 文件系统dma大小_「正点原子NANO STM32F103开发板资料连载」第二十二章 DMA 实验...
  2. mysql merge 分区_mysql merge 分区
  3. 自定义Windows性能监视器
  4. 单元测试中使用Mockito模拟对象
  5. 第四篇:断路器(Hystrix)(Finchley版本)V2.0_dev
  6. 元类编程--property动态属性
  7. 计算机的排除故障的方法,计算机产生故障的原因和排除故障的方法
  8. python 并发编程实战_使用Python进行并发编程
  9. (10.1.4)拟物设计
  10. java咖啡是研磨的吗_咖啡的研磨程度,真的很重要吗?
  11. 藏锐 计算机硕士,指导项目一_认识计算机系统课件
  12. 创建高保真的移动Demo(工具篇)
  13. 如何在Excel中使用公式将生日自动转换成星座?
  14. 怎么在cmd中运行python脚本_cmd中运行python脚本智能使用流程
  15. jQuery+PHP实现的砸金蛋中奖程序
  16. 曾国藩的做人做事之道:事不拖,话不多,人不作
  17. HTML中div设置出相框,CSS完成神奇创意的相框
  18. 高博视觉SLAM十四讲思维导图分享
  19. php历法,Atitit.基于时间戳的农历日历历法日期计算
  20. 【20保研】大连理工大学软件学院2019年优秀大学生学术夏令营通知

热门文章

  1. micropython 蓝牙音箱_你愿意用ESPY-core做哪些有趣尝试?
  2. ios13 无法传参_iOS13个人热点功能频遭投诉
  3. java程序样例_一个完整的java程序示例
  4. php多个地方ping,同时ping多个ip找了最快的ip网的php实例-PHP源码
  5. 关于mysql的教学文章_数据库课程教学方法探索论文
  6. Mac 加入环境变量
  7. hough变换直线检测_CV学习笔记(十五):直线检测
  8. 新装oracle密码文件,oracle密码文件的重建
  9. micropython开发idethonny_Thonny 3.0 首个稳定版发布,一个面向初学者的 Python IDE
  10. 财务管理属于计算机网络,浅谈如何应用计算机网络进行财务管理