如何在 python 中使用带有 dokuwiki 模块的代理服务器
How to use proxy server with dokuwiki module in python
我正在尝试编写一个应用程序来简化我的 HP 磁盘更换过程。
我们使用 dokuwiki 来跟踪案例,我想用 python 实现它,以便在更换磁盘时自动完成。不幸的是,我们必须使用代理才能访问 dokuwiki link,而我在 python.
中找不到使用它的方法
因此,当我尝试 运行 python IDE 中的以下内容时,即使我也在 venv 中设置了 http/https_proxy,我总是会收到错误消息.
在 [20] 中:wiki = dokuwiki.DokuWiki('https://172.xx.xx.xx/doku.php?id=xx:xx', 'username', 'password')
我希望 运行 执行命令时不会出现错误,但我得到以下信息:
SSLCertVerificationError Traceback(最后一次调用)
在
----> 1 个维基 = dokuwiki.DokuWiki('https://172.xx.xx.xx/doku.php?id=xx:xx', 'username', 'password')
……
......
.....
SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:自签名证书 (_ssl.c:1056)
SSL certificates
是根据 FQDN
(完全限定域名)颁发和验证的,因此如果您将 https
与 IP address
一起使用,则证书不能验证。如果可以,请通过 FQDN
访问您的 wiki 并确保证书有效。
否则您可以禁用 (这并不是一个很好的安全措施)。由于额外的参数被直接传递给 xmlrpc.client.ServerProxy
对象,所以像这样的东西应该可以工作:
import dokuwiki
import ssl
wiki = dokuwiki.DokuWiki('https://172.xx.xx.xx', 'username', 'password', context=ssl._create_unverified_context())
注意: dokuwiki
模块还附加了 XMLRPC URI
(/lib/exe/xmlrpc.php
) 本身,因此 /doku.php?id=xx:xx
部分不是必要的。
我正在尝试编写一个应用程序来简化我的 HP 磁盘更换过程。
我们使用 dokuwiki 来跟踪案例,我想用 python 实现它,以便在更换磁盘时自动完成。不幸的是,我们必须使用代理才能访问 dokuwiki link,而我在 python.
中找不到使用它的方法因此,当我尝试 运行 python IDE 中的以下内容时,即使我也在 venv 中设置了 http/https_proxy,我总是会收到错误消息.
在 [20] 中:wiki = dokuwiki.DokuWiki('https://172.xx.xx.xx/doku.php?id=xx:xx', 'username', 'password')
我希望 运行 执行命令时不会出现错误,但我得到以下信息:
SSLCertVerificationError Traceback(最后一次调用) 在 ----> 1 个维基 = dokuwiki.DokuWiki('https://172.xx.xx.xx/doku.php?id=xx:xx', 'username', 'password') …… ......
.....
SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:自签名证书 (_ssl.c:1056)
SSL certificates
是根据 FQDN
(完全限定域名)颁发和验证的,因此如果您将 https
与 IP address
一起使用,则证书不能验证。如果可以,请通过 FQDN
访问您的 wiki 并确保证书有效。
否则您可以禁用 xmlrpc.client.ServerProxy
对象,所以像这样的东西应该可以工作:
import dokuwiki
import ssl
wiki = dokuwiki.DokuWiki('https://172.xx.xx.xx', 'username', 'password', context=ssl._create_unverified_context())
注意: dokuwiki
模块还附加了 XMLRPC URI
(/lib/exe/xmlrpc.php
) 本身,因此 /doku.php?id=xx:xx
部分不是必要的。