2015-06-05 2 views
0

У меня возникли трудности с поиском возвращаемого заголовка для определенной информации. Когда я печатаю результат из 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() 

ответ

3

Вызов recv на сокете returns a string. Если вы перебираете строку, как в for line in header:, вы будете перебирать каждый символ в строке. Для итерации по линиям делать:

for line in header.splitlines(): 

 Смежные вопросы

  • Нет связанных вопросов^_^