第一次利用python写一个简单的html服务器
今天,我用了三个小时去写一个简单的html服务器。 整个过程也算是很艰辛吧,因为自己的python基础不是很好,并且还要接触很多新的库的用法,我记得当时socket(套接字)的用法我看了很多老师的视频,不过结局还好吧。
我现在将我写的整个过程的思路写一下:
1、创建套接字
这个在我看来是最近关键的,因为之前我接触python时没有接触过套接字,其中的用法我也不是很清楚,经过很长时间的百度,我查到tcp和dcp,其中我主要了解到的是tcp,因为现在的各种聊天工具,以及各大服务器都在使用tcp。它在服务器和客户端之间起一个非常关键的作用。
2、链接服务器
3、发送数据\接收数据
4、关闭套接字
总体上大致就分为以上几个步骤吧,当这个程序运行成功时,我真的很开心,所以才想记录一下现在的心情。
其代码如下:
1 import socket 2 3 def service_client(new_socket): 4 #接收浏览器的请求 5 6 request = new_socket.recv(1024) 7 print(request) 8 #利用http协议给浏览器返回数据 9 10 response = "HTTP/1.1 200 OK\r\n" 11 response += "\r\n" 12 response += "<h1>I love you<h1>" 13 14 new_socket.send(response.encode("utf-8")) 15 16 new_socket.close() 17 18 19 def main(): 20 #创建套接字 21 tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 22 23 #绑定 24 tcp_server_socket.bind(("",7890)) 25 26 #变为监听套接字 27 tcp_server_socket.listen(128) 28 29 while True: 30 #等待新客户端的链接 31 new_socket,client_addr = tcp_server_socket.accept() 32 33 #为这个客户服务 34 service_client(new_socket) 35 tcp_server_socket.close() 36 37 38 39 if __name__ =="__main__": 40 main()