如何在Python脚本中重新启用urllib3的InsecureRequestWarning警告?
如何重新启用urllib3的InsecureRequestWarning?
这个问题问得好!当你用urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)关掉了不安全请求的警告后,有两种靠谱的方式可以重新启用或重置urllib3的警告设置:
方式一:重置所有urllib3警告到默认状态
urllib3内置了reset_warnings()方法,它会清除所有之前通过disable_warnings()设置的警告过滤器,让所有urllib3相关的警告回到初始默认状态。这种方式简单直接,适合需要全面恢复urllib3警告规则的场景。
import urllib3 # 先禁用目标警告 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # 执行你的不安全请求逻辑 response = urllib3.request("GET", "https://insecure-site.example.com", verify=False) # 重置所有urllib3警告配置 urllib3.reset_warnings() # 此时再发起不安全请求,警告会重新出现
方式二:仅恢复特定的InsecureRequestWarning
如果你不想重置所有警告,只想精准恢复这一个特定的警告,可以借助Python标准库的warnings模块来操作。因为urllib3.disable_warnings()本质是调用了warnings.filterwarnings("ignore", ...)来屏蔽警告,所以我们可以通过设置"default"动作来重新启用它。
import urllib3 import warnings # 禁用目标警告 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # 执行需要屏蔽警告的操作 response = urllib3.request("GET", "https://insecure-site.example.com", verify=False) # 重新启用InsecureRequestWarning warnings.filterwarnings("default", category=urllib3.exceptions.InsecureRequestWarning) # 后续的不安全请求会再次触发该警告
小提示
reset_warnings()只会影响urllib3自身的警告过滤器设置,不会干扰你通过warnings模块自定义的其他警告规则,所以不用担心会破坏你自己的警告配置。
内容的提问来源于stack exchange,提问作者RAbraham
相关产品推荐
相关产品推荐

