熟悉python socket搭建WEB服务器的知识。

知识如下:

#导入socket 模块
from socket import
#host是本机地址,serverPort是端口号,程序运行后,在浏览器中输入 127.0.0.1:8888/index.html 即可访问主页
host = ‘127.0.0.1’ 或者输入本机ip
port = 8888
#创建了服务器的套接字,其中AF_INET表示使用的是IPV4协议,SOCKER_STREAM表示使用的是TCP套接字
SocK_1 = socket(AF_INET , SOCK_STREAM)

#表示将服务端端口与套接字连接起来
SocK_1.bind((host , port))

#让服务器聆听TCP连接,参数为请求连接的最大数目
Sock_1.listen(128)

#打开index.html 网页文件 然后以2进制可读的方式
with open(‘index.html’ , ‘rb’) as f:
data=f.read()
#可以读取data 以send 的方式传到网页上 不过在传输数据时时 前面要加上响应首行和响应首部 然后在响应体
new_sock.send(‘HTTP/1.1 200 OK\r\n’.encode())
new_sock.send(‘Content-Type:text/html;charset=utf-8\r\n’.encode())
new_sock.send(’\r\n’.encode())
new_sock.send(data)

#HTTP/1.1 200 ok服务器响应文件的报文头,第一位是HTTP协议,然后是状态 200 ok
#如果没有请求到文件,则替换 200 ok 为 404 Not Found。
#Content-Type 指的是文件类型,你要回传html类型的文件。就是text/html,
Content-Type: text/html,如果是png图片,则是image/png 具体根据文件格式去查找相应名称
#一定一定要注意格式,不能有变化,否则浏览器不能正确理解文件类

#一直循环等待请求连接
while TRUE :
#当有客户机响应时,则建立TCP连接
newsocket,addr = sock_1.accept()
sentence收到的是客户发送请求的报文,里面有请求方法,请求文件等
sentence = newsocket.recv(1024)
#接受到的为2进制 需要解码为utf-8 加上 .decode()默认解码为utf-8

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值