擅长:python、mysql、java
<p>在Python 3下,我无法从以下位置检索<code>httpOnly</code>标志:</p>
<pre><code>cookie.get_nonstandard_attr('httpOnly')
</code></pre>
<p>以及</p>
<pre><code>cookie.has_nonstandard_attr('httpOnly')
</code></pre>
<p>即使cookie中包含<code>httpOnly</code>标志,也返回<code>False</code>。</p>
<p>这也不适用于<code>httponly</code>、<code>HttpOnly</code>等的任何变体。</p>
<p>使用@HEADLESS@u 0NE的post,我发现您可以通过查看<code>cookie.__dict__</code>中的<code>_rest</code>字段来检索标志。如果cookie中包含<code>httpOnly</code></p>
<pre><code>cookie.__dict__['_rest']
</code></pre>
<p>将返回如下内容:</p>
<pre><code>{'HttpOnly': None, ...}
</code></pre>
<p>因此,这里有一个小的helper函数来检查cookie是否有<code>httpOnly</code>标志。</p>
<pre><code>def has_http_only(cookie):
extra_args = cookie.__dict__.get('_rest')
if extra_args:
for key in extra_args.keys():
if key.lower() == 'httponly':
return True
return False
</code></pre>
<p>安全标志将自动添加到<code>cookie</code>对象中,并可以使用<code>cookie.secure</code>检索。</p>