师父布置的任务,让我写一个服务练练手,搞清楚插座的原理和过程后跑了一个小演示,很有成就感,代码内容也比较清晰易懂,很有教育启发意义。
<强>代码强>
utf - 8编码: 进口套接字 从多处理导入过程 HTML_ROOT_DIR=" " def handle_client (client_socket): ”“”处理客户端请求“”“ #获取客户端请求数据 request_data=https://www.yisu.com/zixun/client_socket.recv (1024) 打印(“请求数据:“request_data) #构造响应数据 response_start_line=癏TTP/1.1 200 OK \ r \ n” response_headers="服务器:我的服务器\ r \ n” response_body="你好itcast” 响应=response_start_line + response_headers + + response_body \ r \ n 打印(“响应数据:“响应) #向客户端返回响应数据 client_socket。发送(字节(响应,“utf - 8”)) #关闭客户端连接 client_socket.close () if __name__==癬_main__”: server_socket=socket.socket(插座。AF_INET socket.SOCK_STREAM) server_socket。绑定((" ",8000)) server_socket.listen (120) 而真正的: client_socket client_address=server_socket.accept () #打印(“[% s, % s]用户连接上了“% client_addrest [0], client_address [1]) 打印(“[% s, % s]用户连接上了“% client_address) handle_client_process=过程(目标=handle_client args=(client_socket,)) handle_client_process.start () client_socket.close ()
运行后在浏览器输入:127.0.0.1:8000
http页面显示如下:
<>强控制台输出:强>
(127.0.0.1,50066)用户连接上了 请求数据:b 'GET/HTTP/1.1 \ r \ nHost: 127.0.0.1:8000 \ r \ nUpgrade-Insecure-Requests: 1 \ r \ nAccept: text/html, application/xhtml + xml应用程序/xml; q=0.9 */*; q=0.8 \ r \ nUser-Agent: Mozilla/5.0(麦金塔电脑;Intel Mac OS X 10 _13_1) AppleWebKit/604.3.5 (KHTML,像壁虎)版本/11.0.1 Safari 604.3.5 \ r \ nAccept-Language:应用\ r \ nAccept-Encoding: gzip、缩小\ r \ nConnection:维生\ r \ n \ r \ n” 响应数据:HTTP/1.1 200 OK 服务器:我的服务器 你好itcast (127.0.0.1,50067)用户连接上了 请求数据:b 'GET/图标。ico HTTP/1.1 \ r \ nHost: 127.0.0.1:8000 \ r \ nConnection:维生\ r \ nAccept: */* \ r \ nUser-Agent: Mozilla/5.0(麦金塔电脑;Intel Mac OS X 10 _13_1) AppleWebKit/604.3.5 (KHTML,像壁虎)版本/11.0.1 Safari 604.3.5 \ r \ nAccept-Language:应用\ r \ nReferer: http://127.0.0.1:8000 \ r \ nAccept-Encoding: gzip、缩小\ r \ n \ r \ n” 响应数据:HTTP/1.1 200 OK 服务器:我的服务器 你好itcast
以上这篇使用python写一个静态服务(实战)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。