我在搜索返回的标头时遇到某些信息有困难。当我从s.recv打印结果时,它显示完整的标题。我试图逐行搜索“服务器”这个词,但这样做每行显示一个字符。我不想使用正则表达式完成这项任务。
#!/usr/bin/python
import ipaddress, socket
port = 80
net = ipaddress.ip_network('216.58.208.78/32')
for x in net:
x = str(x)
s = socket.socket()
s.connect((x,port))
print "Connected to port"
s.send("GET\r\n")
print "Returned header..\n"
header = s.recv(1024)
for line in header:
if 'Server' in line:
print line
s.close()
答案 0 :(得分:3)
在套接字returns a string上调用recv
。如果像在for line in header:
中那样遍历字符串,则会循环遍历字符串中的每个字符。迭代行:
for line in header.splitlines():