爬取网站提示不是私密链接且访问存在被攻击风险

本文介绍了解决爬虫在urlopen()时遇到的SSL证书错误问题,通过设置urlopen()参数添加未验证的SSL上下文,实现对特定网站的正常访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬虫使用urlopen()报出如下错误:

hostname 'www.xxx.xx' doesn't match either of 'xxx.xxx.com'

找到对应url使用浏览器打开网页显示如下:在这里插入图片描述
经查阅得知,此网站的证书未经核实导致,此时可设置urlopen()添加参数忽略未经核实的SSL证书认证,保证能够正常获取到相应内容,如下:

    import ssl

    context = ssl._create_unverified_context()
    urlopen(request,context = context)

此时即可正常访问网站。

以上为个人笔记,其中的深层缘由暂未了解,其中的解决方法来源于网上各位大佬的解答分享和自己的推测和实践得来,若有不对的地方,请大家指教,谢谢

### 解决 Fiddler 访问 HTTPS 网站时浏览器提示 '您的连接不是私密连接' 当使用 Fiddler 进行调试并尝试访问 HTTPS 网站时,可能会遇到浏览器显示“您的连接不是私密连接”的警告。这是因为 Fiddler 需要作为中间人代理来解密和重新加密流量,这通常会触发浏览器的安全警报。 为了消除此警告,需要确保客户端信任由 Fiddler 自动生成的 CA 证书。以下是具体操作方法: #### 安装 Fiddler 自签名证书 1. **启动 Fiddler** - 打开应用程序后,在菜单栏中依次点击 `Tools` -> `Options...` 2. **配置 HTTPS 捕获设置** - 切换到左侧列表中的 `HTTPS` 标签页 - 勾选 `Decrypt HTTPS traffic` 复选框以启用 SSL/TLS 流量捕获功能[^2] 3. **安装根证书** - 当首次开启上述选项时,Fiddler 将自动弹出对话框询问是否同意安装其自定义颁发机构 (CA) 证书;选择接受并按照向导完成整个过程。 4. **验证证书状态** - 成功安装之后可以在 Windows “受信任的根认证中心” 中找到名为 "DO_NOT_TRUST_FiddlerRoot" 的条目. 对于某些特定环境下的应用或旧版 Internet Explorer, 可能还需要额外调整兼容性参数: - 对于 IE 用户来说,如果仍然存在加载资源失败的情况,则可以考虑通过 `<meta>` 标记或者 HTTP 响应头部的方式设定合适的文档模式,从而避免因浏览器内核差异带来的潜在问题[^3]. ```html <meta http-equiv="X-UA-Compatible" content="IE=edge"> ``` 以上措施能够有效解决大多数情况下由于缺少适当配置而导致的非私密连接提示问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值