代码如下所示:
进口套接字 进口再保险 进口多处理 def service_client (client_socket): data=https://www.yisu.com/zixun/client_socket.recv (1024) recv_data=data.decode (“utf - 8”) 打印(recv_data) #/索引。html HTTP/1.1 ret=再保险。匹配(r”[^/] +/((\ S) + \ | \年代)”,recv_data) file_n=" index . html " 如果延迟: 如果ret.group (1) !=" ": 打印(ret.group (1)) file_n=ret.group (1) 其他: 打印(“代码有误!”) 试一试: 张开(file_n rb) f: 内容=f.read () f.close () 除了例外r: 打印(右) 内容=" & lt; h2>文件不是found<\ h2>“.encode (“utf - 8”) 头=癏TTP/1.1 200 OK \ r \ n” 空=" \ r \ n " 响应=(标题+空).encode (utf - 8) client_socket.send(响应) client_socket.send(内容) client_socket.close () 打印(“client_socket.close()已调用”) def main (): tcp_socket=socket.socket (socket.AF_INET socket.SOCK_STREAM) tcp_socket.setsockopt(套接字。SOL_SOCKET,插座。SO_REUSEADDR, 1) local_addr=(127.0.0.1, 7788) tcp_socket.bind (local_addr) tcp_socket.listen (128) 而真正的: client_socket client_addr=tcp_socket.accept () p=multiprocessing.Process(目标=service_client args=(client_socket,)) p.start () # p.join () tcp_socket.close () if __name__==癬_main__”: main ()
1。开始的时候file_n没有先定义,结果就报错:局部变量“file_n”引用之前赋值
2。正则表达式一定要先验证筛取的内容是否正确。
3。要获取程序同级文件夹中文件夹的文件,相对路基为“文件夹名/文件名“
4. tcp_socket.setsockopt(套接字。SOL_SOCKET,插座。SO_REUSEADDR, 1)要加不然容易出现“地址已经在使用”之类的故障
以上所述是小编给大家介绍的使用浏览器访问python写的服务器程序,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!