Crossin的编程教室

标题: 请教下分析头部信息的代码 [打印本页]

作者: szwfn    时间: 2018-11-3 10:47
标题: 请教下分析头部信息的代码
老师早上好!

我试着写代码分析网页的头部信息,把它转换成为一个字典,代码如下:

header=input('输入头部信息:\n')

def header_format(header):

    lst=header.split('\n')
    #用换行符来分割header数据,转换成一个list
    dic={}
    for i in lst:   #遍历这个list
        short_lst=i.split(':')  #用冒号来分割每个对象
        dic[short_lst[0]]=''.join(short_lst[1:])
        #将列表中每个对象分割成一个list,添加入字典
    print(dic)
header_format(header)

但是在执行时候,贴上header,只能显示第一条内容的字典,

================ RESTART: C:\Python\2018-11-2headerformat.py ================
输入头部信息:
Accept-Ranges:bytes
Cache-Control:max-age=240
Connection:keep-alive
Content-Length:17
Content-Type:application/x-javascript
Date:Sat, 03 Nov 2018 02:44:22 GMT
Expires:Sat, 03 Nov 2018 02:48:22 GMT
Last-Modified:Mon, 20 Aug 2018 08:02:18 GMT
P3P:CP=CAO PSA OUR
Server:nginx
X-Via:1.1 PSjstzdx2zv208:12 (Cdn Cache Server V2.0)
{'Accept-Ranges': 'bytes'}
>>>

请教下是什么原因,应该如何解决,谢谢!




作者: crossin先生    时间: 2018-11-3 12:34
你把每一行的结果都print出来,看是哪一步没有符合你的设想预期
作者: szwfn    时间: 2018-11-4 00:13
crossin先生 发表于 2018-11-3 12:34
你把每一行的结果都print出来,看是哪一步没有符合你的设想预期

感谢crossin老师
作者: szwfn    时间: 2018-11-4 19:35
crossin老师
我把header作为变量 写入代码中 是可以成功转换为字典的
但上面代码执行后 粘贴这多行的header 却只能返回第一行内容的字典
我猜测是 这多行的header每行末带换行符 在交互模式下 认为第一行就按了回车确认
请问有没有解决的方法呢 先谢谢了
作者: crossin先生    时间: 2018-11-5 11:12
szwfn 发表于 2018-11-4 19:35
crossin老师
我把header作为变量 写入代码中 是可以成功转换为字典的
但上面代码执行后 粘贴这多行的header ...

不要通过交互方式来输入多行数据

或者修改你的输入代码,循环获取,直到获取一个空行为止
作者: szwfn    时间: 2018-11-8 22:56
crossin先生 发表于 2018-11-5 11:12
不要通过交互方式来输入多行数据

或者修改你的输入代码,循环获取,直到获取一个空行为止 ...

好的 谢谢老师的建议




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5