0

我正在尝试在 Python 中找到某行,但我被卡住了。

这是我的代码:

import urllib2
response = urllib2.urlopen('http://pythonforbeginners.com/')
info = response.info()
html = response.read()
# do something
response.close()  # best practice to close the file

if "x" in str(info):
print str(info)

raw_input()

我试图只用一行来显示服务器的类型。

4

2 回答 2

1

您真的需要将info其视为字符串吗?如果没有,这应该工作得很好:

for h in info.headers:
  if h.startswith('Server'):
    print h
于 2013-06-30T03:37:22.317 回答
1

我猜你的行是什么意思 http 标头中的一行。您可以通过以下代码获取 http 标头:

import urllib2
response = urllib2.urlopen('http://pythonforbeginners.com/')
info = response.info()
html = response.read()
# do something
response.close()  # best practice to close the file
# this is how to process the http header
for key in info :
    print key, info[key] 

raw_input()

或者您可以将信息转换为字符串并按 \r\n 拆分(http 标头由 \r\n 分隔),如下所示

for line in str(info).split("\r\n") :
    print line, "=="
于 2013-06-30T03:40:02.677 回答