小编Kri*_*ker的帖子

使用Python解析HTTP请求Authorization标头

我需要像这样的标题:

 Authorization: Digest qop="chap",
     realm="testrealm@host.com",
     username="Foobear",
     response="6629fae49393a05397450978507c4ef1",
     cnonce="5ccc069c403ebaf9f0171e9517f40e41"
Run Code Online (Sandbox Code Playgroud)

并使用Python将其解析为:

{'protocol':'Digest',
  'qop':'chap',
  'realm':'testrealm@host.com',
  'username':'Foobear',
  'response':'6629fae49393a05397450978507c4ef1',
  'cnonce':'5ccc069c403ebaf9f0171e9517f40e41'}
Run Code Online (Sandbox Code Playgroud)

有没有一个图书馆可以做到这一点,或者我可以寻找灵感的东西?

我在谷歌应用引擎上这样做,我不确定Pyparsing库是否可用,但如果它是最好的解决方案,我可以将它包含在我的应用程序中.

目前我正在创建自己的MyHeaderParser对象,并在头字符串上使用reduce().它工作,但非常脆弱.

以下是nadia的精彩解决方案:

import re

reg = re.compile('(\w+)[=] ?"?(\w+)"?')

s = """Digest
realm="stackoverflow.com", username="kixx"
"""

print str(dict(reg.findall(s)))
Run Code Online (Sandbox Code Playgroud)

python google-app-engine parsing http http-headers

12
推荐指数
2
解决办法
9671
查看次数

标签 统计

google-app-engine ×1

http ×1

http-headers ×1

parsing ×1

python ×1