gpt4 book ai didi

python - 如何为脚本禁用 App Transport Security?

转载 作者:搜寻专家 更新时间:2023-10-30 20:15:13 24 4
gpt4 key购买 nike

我正在编写一个应用程序,它是一个 python 脚本,它使用 pyobjc 绑定(bind)在 mac 上使用 objc/cocoa 运行时。该应用程序(Présentation.app,Mac 的 pdf 演示工具)使用 WebView 显示任意网页。

从 Mac OS X 10.11 开始,App Transport Security 会阻止加载任何非 https 网站。可以通过在 Info.plist 中设置 NSAppTransportSecurity 字典来禁用此功能(以重新启用以前的行为,即任意网页加载),如记录 here .

但是,我的应用程序是一个脚本,可以从命令行使用而无需捆绑到 .app 中。在这种情况下,它没有 Info.plist。

我读到我可以 add an Info.plist to a binary command line tool using the linker ,但我需要一个 python 脚本的解决方案……

关于如何将 Info.plist 嵌入到脚本中有什么建议吗?或者通过 API 而不是 Info.plist 文件配置应用程序传输安全的任何解决方案?

最佳答案

好的,我找到了一种从脚本本身禁用 App Transport Security 的方法。事实证明,您可以在启动后从脚本中编辑信息字典,并且会考虑更改。所以在脚本的开头,我添加了:

from objc import YES
from AppKit import NSBundle
bundle = NSBundle.mainBundle()
info = bundle.localizedInfoDictionary() or bundle.infoDictionary()
info['NSAppTransportSecurity'] = {'NSAllowsArbitraryLoads': YES}

就是这样。

关于python - 如何为脚本禁用 App Transport Security?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34613902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com