Cookies 理解RFC6265域匹配条件
我希望实现一个简单的方法来检查给定的cookie域是否与给定的主机名匹配 为此,我将实现中定义的域匹配条件 定义的两个匹配条件中的第二个是多部分条件,其中应用了三个子条件: 以下所有条件均成立:Cookies 理解RFC6265域匹配条件,cookies,domain-name,rfc6265,Cookies,Domain Name,Rfc6265,我希望实现一个简单的方法来检查给定的cookie域是否与给定的主机名匹配 为此,我将实现中定义的域匹配条件 定义的两个匹配条件中的第二个是多部分条件,其中应用了三个子条件: 以下所有条件均成立: 域字符串是字符串的后缀 未包含在域字符串中的字符串的最后一个字符是%x2E(“.”)字符 字符串是主机名(即,不是IP地址) 为清楚起见,当上面引用的文本指的是“字符串”时,它指的是cookie的域值,当上面引用的文本指的是“域名”时,它指的是cookie可能发送到的主机的域名 在这三个子条件中,第
- 域字符串是字符串的后缀
- 未包含在域字符串中的字符串的最后一个字符是%x2E(“.”)字符
- 字符串是主机名(即,不是IP地址)
1. check targetString endsWith domain
2. check lastChar(targetString) != "."
3. check targetString is host name
当我试图理解这种特殊情况时,我也经历了很多挣扎。第十五次阅读后,我注意到我没有注意到关键词。引用(并强调):
- 未包含在域字符串中的字符串的最后一个字符是%x2E(“.”)字符
导入IP地址
定义域匹配(字符串:str,域字符串:str)->bool:
string=string.lower()
domain\u string=domain\u string.lower()
尝试:
ip地址。ip地址(字符串)
is_host=False
除值错误外:
_host=True吗
返回(
字符串==域\字符串
或
(string.endswith(域字符串)
和
字符串[-(len(域字符串)+1)]==”
和
is(主机)
)
ipaddress
位要完全迂腐。然而,对于我的用例,我省略了它