python - zeep - 禁用警告“强制肥皂:地址位置到 HTTPS”
问题描述
我正在使用该zeep
包访问 https 上的一些 API,并且在每个连接上它都会打印出一个警告(到 stderr):
Forcing soap:address location to HTTPS
我所做的一些搜索发现负责的行是this,这意味着这是模块日志记录级别的结果。更改日志级别似乎需要编辑此文件。
这对我来说是一个糟糕的解决方案,因为我希望能够在运行时关闭这个警告,因为使用这个包的应用程序将是一个冻结的应用程序(一个 exe)。
如果这是相关的,那么这些是显示该警告所需的最少行(尽管显然,这里的域是虚构的,用户和密码也是如此):
import zeep
client = zeep.CachingClient('https://api.somedomain.com/Services/ApiService.svc?singleWsdl')
client.service.VerifyLogin('user', 'pass')
我知道zeep
客户端可以设置为不强制使用 https,但我认为这会降低连接的安全性?(毕竟,我将用户名和密码作为没有 https 的明文传递)
解决方案
经过几天的研究,我终于能够自己解决这个问题。我没有意识到可以从导入的模块中更改日志记录级别。我在代码的开头添加了这一行(在导入之后),它解决了这个问题:
import logging
logging.getLogger('zeep').setLevel(logging.ERROR)
希望这可以帮助遇到同样问题的其他人
推荐阅读
- sql - 在组排序表中加入另一个表使用第一个函数
- python - 用相同的密钥解密文本,给出无效的令牌
- reactjs - 单独导入钩子会破坏组件
- javascript - 如何在茉莉花测试中接受 getUserMedia() 的权限?
- php - 如何管理团队更新 id,其他表上字段 id_team 中的用户名
- typescript - Firebase 云功能未运行?
- python - 如何全局禁用约定和重构 linting?
- angular - ./node_modules/ng2-charts/fesm5/ng2-charts.js 中的警告 230:54-72 “在 '@angular/core' 中找不到导出 'ɵɵdefineInjectable'
- python - 根据特定条件将数据帧一列中的所有行转置为多列
- c# - 脚本任务错误:系统存储不足。服务器响应是:4.5.3。收件人过多 (AS780090)