gpt4 book ai didi

ssl - 使用 python 的请求模块抓取 heritrix 页面

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:54 24 4
gpt4 key购买 nike

我想使用 python 抓取 Heritrix 主页 requests模块。当我尝试在 chrome 上打开此页面时,出现错误:

This server could not prove that it is 10.100.121.41; its security  
certificate is not trusted by your computer's operating system. This
may be caused by a misconfiguration or an attacker intercepting your
connection.

但我可以继续访问该页面。当我尝试使用 requests 抓取同一页面时,我遇到了 SSL 错误,经过一番挖掘,我使用了来自 a SO question 的以下代码: r=requests.get(url,auth=(username, password),verify=False。这给了我以下警告 /usr/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py:734: InsecureRequestWarning: Unverified HTTPS request is being made. 强烈建议添加证书验证。参见:https://urllib3.readthedocs.org/en/latest/security.html,返回状态码为401,如何解决?

最佳答案

401 表示您需要进行身份验证,但您使用了错误的方法。 requests 内置的另一种非常常见的身份验证方法是摘要身份验证。您可以通过查看以下内容来确定它是否正在寻找使用摘要式身份验证:

r.headers.get('www-authenticate')

它应该有digest。 (如果没有,则它不期望摘要式身份验证。)您可以在请求中使用摘要式身份验证,如下所示:

from requests import auth

r = requests.get(url, auth=auth.HTTPDigestAuth(username, password), verify=False)

您看到的警告与 401 无关,它只是警告您您发出的请求是针对 HTTPS 站点的,并且您的连接可能会被攻击者有效地中间人攻击。如果您想将其静音,您可以执行以下操作:

from requests.packages import urllib3
urllib3.disable_warnings()

关于ssl - 使用 python 的请求模块抓取 heritrix 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28636816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com