在返回的 header 中搜索字符串

searching for string in returned header

我无法在返回的 header 中搜索某些信息。当我打印 s.recv 的结果时,它显示完整的 header。我试图逐行搜索 'Server' 这个词,但这样做每行显示一个字符。我不想为此任务使用正则表达式。

#!/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()

正在套接字 returns a string 上调用 recv。如果像在 for line in header: 中那样遍历字符串,您将遍历字符串中的每个字符。要遍历行,请执行以下操作:

for line in header.splitlines():