网络程序设计代码
时间: 2023-08-06 21:12:39 浏览: 74
网络程序设计的代码可能会有很多种,因为不同的应用场景会有不同的需求。下面是一个简单的 Python 代码示例,用于创建一个基本的 HTTP 服务器,可以处理 GET 和 POST 请求:
```python
from http.server import BaseHTTPRequestHandler, HTTPServer
import cgi
class MyServer(BaseHTTPRequestHandler):
def do_GET(self):
if self.path.endswith("/hello"):
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
message = "Hello, world!"
self.wfile.write(message.encode())
return
else:
self.send_error(404, "Page not found")
def do_POST(self):
if self.path.endswith("/form"):
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
ctype, pdict = cgi.parse_header(self.headers["Content-type"])
if ctype == "multipart/form-data":
fields = cgi.parse_multipart(self.rfile, pdict)
message = fields.get("message")
self.wfile.write(message[0].encode())
return
else:
self.send_error(400, "Bad request")
else:
self.send_error(404, "Page not found")
def run():
server_address = ("", 8000)
httpd = HTTPServer(server_address, MyServer)
print("Server running on port 8000")
httpd.serve_forever()
if __name__ == "__main__":
run()
```
这个代码示例使用 Python 内置的 `http.server` 模块创建一个 HTTP 服务器,并定义了两个处理请求的方法 `do_GET` 和 `do_POST`。当收到 GET 请求时,如果请求的路径是 `/hello`,则返回 "Hello, world!" 消息,否则返回 404 错误;当收到 POST 请求时,如果请求的路径是 `/form`,则解析请求体中的表单数据,并返回其中的 `message` 字段的值,否则返回 404 或 400 错误。最后,通过调用 `HTTPServer` 对象的 `serve_forever` 方法启动服务器,并监听 8000 端口上的请求。
阅读全文