2006年07月19日 星期三 17:02
看到书上这个玩意,又自己动手试了下,(用浏览器来浏览http://localhost:86)但是没有结果! 对这个(http server)还不是很理解,谁能指点一下吗? from socket import * import thread def handler(clientsock,addr): while 1: data = clientsock.recv(BUFSIZ) if not data: break print data clientsock.send(data) clientsock.send("Hello!") clientsock.close() if __name__=='__main__': HOST = 'localhost' PORT = 86 BUFSIZ = 1024 ADDR = (HOST, PORT) serversock = socket(AF_INET, SOCK_STREAM) serversock.bind(ADDR) serversock.listen(2) while 1: print 'waiting for connection…' clientsock, addr = serversock.accept() print 'connected from:', addr thread.start_new_thread(handler, (clientsock, addr)) -- _______________________________________________ Python中文技术讨论邮件列表 发言: 发邮件到 python-chinese at lists.python.cn 订阅: 发送 subscribe 到 python-chinese-request at lists.python.cn 退订: 发送 unsubscribe 到 python-chinese-request at lists.python.cn 详细说明: http://python.cn/mailman/listinfo/python-chinese My webSite: http://www.scweb.cn -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060719/2f96d22b/attachment.html
2006年07月19日 星期三 17:20
HTTP 协议不光是html内容,它还包括HTTP Header。 你可以参考下 lib/SimpleHTTPServer.py 如果要做 HTTP Server,需要先研究http协议。 如果想要了解socket,可以实现一个简化的telnet,客户端发送命令,服务段执行并返回结果。 在 2006-7-19 17:02:36,Lea.Cen <leacen at gmail.com> 写道: > 看到书上这个玩意,又自己动手试了下,(用浏览器来浏览http://localhost:86)但是没有结果! > > 对这个(http server)还不是很理解,谁能指点一下吗? > > from socket import * > import thread > > def handler(clientsock,addr): > while 1: > data = clientsock.recv(BUFSIZ) > if not data: break > print data > clientsock.send(data) > clientsock.send("Hello!") > clientsock.close() > > if __name__=='__main__': > HOST = 'localhost' > PORT = 86 > BUFSIZ = 1024 > ADDR = (HOST, PORT) > serversock = socket(AF_INET, SOCK_STREAM) > serversock.bind(ADDR) > serversock.listen(2) > > while 1: > print 'waiting for connection…' > clientsock, addr = serversock.accept() > print 'connected from:', addr > thread.start_new_thread(handler, (clientsock, addr)) > > > -- > _______________________________________________ > Python中文技术讨论邮件列表 > 发言: 发邮件到 python-chinese at lists.python.cn > 订阅: 发送 subscribe 到 python-chinese-request at lists.python.cn > 退订: 发送 unsubscribe 到 python-chinese-request at lists.python.cn > 详细说明: http://python.cn/mailman/listinfo/python-chinese > My webSite: http://www.scweb.cn -- 张骏 <zhangj at foreseen-info.com> 敏捷来自Python 简单源于我们 丰元信信息技术有限公司 Python技术交流群:22507237
2006年07月19日 星期三 17:30
响应的HTTP数据包不应该仅仅是HTML文件的,还应改包括HTTP包头,我指响应包头。比如如下的: HTTP/1.1 200 OK Date: Wed, 19 Jul 2006 06:10:33 GMT Server: Apache/1.3.27 Cache-Control: max-age=86400 Expires: Thu, 20 Jul 2006 06:10:33 GMT Last-Modified: Thu, 13 Jul 2006 10:11:00 GMT ETag: "15ae60-aad-44b61c34" Accept-Ranges: bytes Content-Length: 2733 Content-Type: text/html 这个包头是baidu.com的,你也可以借用,但是注意去除或者修改Content-Length字段,有些字段很无聊的可以丢弃。包头后面就是HTML代码就可以了。
2006年07月19日 星期三 17:32
非常感谢,呵呵!去看看去 On 7/19/06, 张骏 <zhangj at foreseen-info.com> wrote: > > HTTP 协议不光是html内容,它还包括HTTP Header。 > > 你可以参考下 lib/SimpleHTTPServer.py > > 如果要做 HTTP Server,需要先研究http协议。 > > 如果想要了解socket,可以实现一个简化的telnet,客户端发送命令,服务段执行并返回结果。 > > 在 2006-7-19 17:02:36,Lea.Cen <leacen at gmail.com> 写道: > > 看到书上这个玩意,又自己动手试了下,(用浏览器来浏览http://localhost:86)但是没有结果! > > > > 对这个(http server)还不是很理解,谁能指点一下吗? > > > > from socket import * > > import thread > > > > def handler(clientsock,addr): > > while 1: > > data = clientsock.recv(BUFSIZ) > > if not data: break > > print data > > clientsock.send(data) > > clientsock.send("Hello!") > > clientsock.close() > > > > if __name__=='__main__': > > HOST = 'localhost' > > PORT = 86 > > BUFSIZ = 1024 > > ADDR = (HOST, PORT) > > serversock = socket(AF_INET, SOCK_STREAM) > > serversock.bind(ADDR) > > serversock.listen(2) > > > > while 1: > > print 'waiting for connection…' > > clientsock, addr = serversock.accept() > > print 'connected from:', addr > > thread.start_new_thread(handler, (clientsock, addr)) > > > > > > -- > > _______________________________________________ > > Python中文技术讨论邮件列表 > > 发言: 发邮件到 python-chinese at lists.python.cn > > 订阅: 发送 subscribe 到 python-chinese-request at lists.python.cn > > 退订: 发送 unsubscribe 到 python-chinese-request at lists.python.cn > > 详细说明: http://python.cn/mailman/listinfo/python-chinese > > My webSite: http://www.scweb.cn > > > > -- > 张骏 <zhangj at foreseen-info.com> > > 敏捷来自Python > 简单源于我们 > 丰元信信息技术有限公司 > > Python技术交流群:22507237 > > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -- _______________________________________________ Python中文技术讨论邮件列表 发言: 发邮件到 python-chinese at lists.python.cn 订阅: 发送 subscribe 到 python-chinese-request at lists.python.cn 退订: 发送 unsubscribe 到 python-chinese-request at lists.python.cn 详细说明: http://python.cn/mailman/listinfo/python-chinese My webSite: http://www.scweb.cn -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060719/2ab7e57f/attachment.html
Zeuux © 2025
京ICP备05028076号