现实世界中您能找到的最小网络协议实现的程序
1 #!/usr/bin/env python 2 # Simple Gopher Client - Chapter 1 - gopherclient.py 3 #《PYTHON网络编程基础》 第35页 4 5 6 import socket, sys 7 8 port = 70 9 host = sys.argv[1] 10 filename = sys.argv[2] 11 12 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 13 s.connect((host, port)) 14 15 s.sendall(filename + "\r\n") 16 17 while 1: 18 buf = s.recv(2048) 19 if not len(buf): 20 break 21 sys.stdout.write(buf)
命令行下敲人:
$ chmod a+x gopherclient.py
$ python gopherclient.py quux.org /
运行结果:打印Gopher服务器根目录的文件列表
iWelcome to gopher at quux.org! fake (NULL) 0 i fake (NULL) 0 iThis server has a lot of information of historic interest, fake (NULL) 0 ifunny, or just plain entertaining -- all presented in Gopher. fake (NULL) 0 iThere are many mirrors here of rare or valuable files with the fake (NULL) 0 iaim to preserve them in case their host disappears. PLEASE READ fake (NULL) 0 i"About This Server" FOR IMPORTANT NOTES AND LEGAL INFORMATION. fake (NULL) 0 i fake (NULL) 0 0About This Server /About This Server.txt gopher.quux.org 70 + 1Archives /Archives gopher.quux.org 70 + 1Books /Books gopher.quux.org 70 + 1Communication /Communication gopher.quux.org 70 + iThis directory contains the entire text of the book fake (NULL) 0 i"We the Media: Grassroots Journalism by the People, for the People" fake (NULL) 0 iby Dan Gillmor in various formats. fake (NULL) 0 i fake (NULL) 0 iFeel free to download and enjoy. fake (NULL) 0 1Computers /Computers gopher.quux.org 70 + 1Current Issues and Events (Updated Apr. 23, 2002) /Current gopher.quux.org 70 + 1Development Projects /devel gopher.quux.org 70 + 0Gopher‘s 10th Anniversary /3.0.0.txt gopher.quux.org 70 1Government, Politics, Law, and Conflict /Government gopher.quux.org 70 + 0How To Help /How To Help.txt gopher.quux.org 70 + 1Humor and Fun /Humor and Fun gopher.quux.org 70 + 1Index to Quux.Org /Archives/index gopher.quux.org 70 1Internet /Internet gopher.quux.org 70 + 1Other Gopher Servers /Software/Gopher/servers gopher.quux.org 70 1People /People gopher.quux.org 70 + 1Reference /Reference gopher.quux.org 70 + 1Software and Downloads /Software gopher.quux.org 70 + 1The Gopher Project /Software/Gopher gopher.quux.org 70 0What‘s New /whatsnew.txt gopher.quux.org 70 +
这里,python展示了其巨大的威力,于简单中见大力量
原文:http://www.cnblogs.com/Thermo/p/4225193.html