【发布时间】:2020-10-31 11:18:03
【问题描述】:
The Definitive Guide to Jython 的附录 A 描述了下载 SetupTools 以与 Jython 一起使用。
https://jython.readthedocs.io/en/latest/appendixA/
这表明应该可以从 Maximo 中的 Jython 自动化脚本(在我的例子中是 v7.6)中下载和使用 SetupTools。这本书将我们指向以下 url 以复制将执行此操作的 Jython 脚本:
http://peak.telecommunity.com/dist/ez_setup.py
我在上面的脚本中添加了一行来调用函数“use_setuptools”:
use_setuptools()
然后我在 Maximo 应用程序上创建一个按钮并将上述脚本与按钮按下相关联,我收到以下错误:
系统消息 BMXAA7837E - 发生错误,阻止了 运行 EZ_SETUP 启动点的 EZ_SETUP 脚本。 urllib2.HTTPError: HTTP 错误 403: SSL is required in at line 280号
堆栈跟踪指向“use_setuptools”调用的函数“download_setuptools”中的以下行:
src = urllib2.urlopen(url)
这似乎是因为请求的 url,在我的例子中:
http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg
...在到达以下网址之前被重定向了几次:
请注意,网址使用的是 HTTPS 而不是 HTTP。以下说明了为什么会这样:
https://sourceforge.net/p/pypi/support-requests/300/
Maximo 附带的 jython.jar 不包含 ssl 模块,因此我们可以:
- 手动下载 ssl 模块并将其复制到服务器上的正确位置。
- 通过 HTTPS 手动下载相应的 egg 文件并将其复制到服务器上的正确位置。
- 通过为我们要查找的文件创建一个镜像来绕过该问题,该文件可通过 HTTP 访问并在代码中使用该 URL。
虽然这些都是可行的,但如果可能的话,我更愿意修改代码以忽略 SSL 证书,但是 StackOverflow 和其他地方的所有解决方法似乎都要求您能够“导入 ssl”以绕过它而是似乎违背了目的。
理想情况下,我正在寻找一种解决方案,该解决方案可以修改上面提供的 url 中的代码,使其与 Maximo/Jython 2.5.2 一起使用,并且不需要下载和添加新模块或包,而这一切都需要马克西莫。绕过或暂时禁用 ssl 很好,因为代码会检查下载的 .egg 文件的哈希值。如果可能,这将是我的首选解决方案。
【问题讨论】:
标签: ssl jython websphere-8 maximo