[python] 代码是不是有有关问题
[python] 代码是不是有问题?Python codeimport sockethttpSock socket.socket(socket.AF_INET, socket.S
[python] 代码是不是有问题?
Python codeimport sockethttpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)httpSock.connect(("google", 80)) # herehttpSock.send("GET /\n")data = httpSock.recv(1024)httpSock.close()if not data: f = open("get.html", 'w') f.write(data) f.close() print data.strip()else: print "receive nothing"
报错: [Errno -5] No address associated with hostname, 怎么处理啊?
其实, 我暂时只想知道代码有没有问题. 当然最好给个解答
谢谢!
[解决办法]python不知道“google”是什么,应该用完整的url:"www.google.com".
[解决办法]你用普通的socket来实现Http客户端的话,发送request时候要遵照http协议头的格式进行数据发送,所以下面这样的send是得不到响应的。
httpSock.send("GET /\n")
还有你代码里if not data:的地方,逻辑上应该是if data:吧
其实可以使用python自己的httplib来做,下面是简单的实现
import httplib
conn = httplib.HTTPConnection("www.baidu.com")
conn.request('get', '/')
data = conn.getresponse().read()
if data:
f = open("get.html", 'w')
f.write(data)
f.close()
print data.strip()
else:
print "receive nothing"
conn.close()