用python 实现一个简单的Web服务器端程序,该程序监听TCP 80端口,能够接受传入的HTTP连接请求并进行解析,并且能够正确的响应请求,回送相关的网页。如果请求的文件不存在于服务器中,则服务器应该向客户端发送”404 Not Found”差错报文。为简单起见,仅要求正确解析常用的get请求,并只需要支持一个HTTP连接。
时间: 2024-02-11 11:08:45 浏览: 51
好的,这是一个比较基础的Web服务器端程序,可以使用Python内置的socket和http.server模块来实现。下面是代码实现:
```python
import socket
import http.server
import socketserver
PORT = 80
class MyHandler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
try:
f = open(self.path[1:], 'rb')
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(f.read())
f.close()
except IOError:
self.send_error(404, 'File Not Found: %s' % self.path)
Handler = MyHandler
httpd = socketserver.TCPServer(("", PORT), Handler)
print("serving at port", PORT)
httpd.serve_forever()
```
这个程序监听TCP 80端口,使用自定义的MyHandler类来处理HTTP请求和响应。如果请求的文件存在,则返回相应的网页内容,否则返回"404 Not Found"错误。你可以在浏览器中输入localhost来访问这个服务器。
阅读全文