python网络学习(04)
2016-03-17 10:57
295 查看
Sockesever模块
# Written by Vamei # use TCPServer import SocketServer HOST = '' PORT = 8000 text_content = ''' HTTP/1.x 200 OK Content-Type: text/html <head> <title>WOW</title> </head> <html> <p>Wow, Python Server</p> <IMG src="test.jpg"/> <form name="input" action="/" method="post"> First name:<input type="text" name="firstname"><br> <input type="submit" value="Submit"> </form> </html> ''' f = open('test.jpg','rb') pic_content = ''' HTTP/1.x 200 OK Content-Type: image/jpg ''' pic_content = pic_content + f.read() # This class defines response to each request class MyTCPHandler(SocketServer.BaseRequestHandler): def handle(self): # self.request is the TCP socket connected to the client request = self.request.recv(1024) print 'Connected by',self.client_address[0] print 'Request is', request method = request.split(' ')[0] src = request.split(' ')[1] if method == 'GET': if src == '/test.jpg': content = pic_content else: content = text_content self.request.sendall(content) if method == 'POST': form = request.split('\r\n') idx = form.index('') # Find the empty line entry = form[idx:] # Main content of the request value = entry[-1].split('=')[-1] self.request.sendall(text_content + '\n <p>' + value + '</p>') ###### # More operations, such as put the form into database # ... ###### # Create the server server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler) # Start the server, and work forever server.serve_forever()
相关文章推荐
- HTTPS单向认证和双向认证
- python网络学习(03)
- tomcat------https单向认证和双向认证
- python网络学习(02)
- 静态路由命令配置
- Tomcat 输入http://localhost:8080显示oracle说明
- maven未设置HTTP代理报错
- python网络学习(01)
- 获取Android当前网络类型(2g、3g、4g、wifi)以及手机型号、版本号
- NFS网络共享文件系统详细配置
- NSHTTPCookieStorage
- HttpClient调用.net发布的带Windows NTML验证的webservice
- python网络爬虫入门(二)———模拟登陆知乎
- 我用HttpClient-MultipartEntity上传文字和图像 服务端没响应。
- Xcode 7.0 不能访问Http协议
- 判断网址的正则表达式 ((http|ftp|https)://)(([a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6})|([0-9]{1,3}\\.[0-9]{1,3}\\.[0
- 简析TCP的三次握手与四次分手
- 飞行员配对方案问题 网络流||二分图匹配
- HttpClient 实现文件上传
- 判断网络是否可用