gpt4 book ai didi

python - 如何从 python 中的 osx 钥匙串(keychain)获取代理密码?

转载 作者:行者123 更新时间:2023-11-28 17:36:47 24 4
gpt4 key购买 nike

目前我正在通过在 python 中运行以下 shell 命令来获取密码

对于Http代理密码

security find-internet-password -s 192.168.1.38 -r htsx -P 808 -w

对于 Https 代理密码

security find-internet-password -s 192.168.1.38 -r htpx -P 808 -w

我通过运行以下代码获得所有这些主机名和端口

>>> import urllib
>>> urllib.getproxies()
{'http': 'http://192.168.1.38:808', 'https': 'http://192.168.1.38:808'}

但是每次我从 python 运行上面的 shell 命令时,我都会被要求允许“安全”访问钥匙串(keychain),如果我给总是允许应用程序访问代理密码的钥匙串(keychain)然后代理密码甚至可以被我没有明确允许的其他应用程序访问。他们只需运行相同的命令就可以访问代理密码(我已经在命令提示符下尝试过,这次它没有提示我并尝试从其他 python 脚本访问它也没有征求我的许可)。

enter image description here

但其他应用程序如AuthBroker 在访问代理时显示以下消息

enter image description here

我知道我正在授予应用程序 security 访问钥匙串(keychain)的权限,但其他应用程序正在为自己请求权限。我的方法可能会危及系统的安全性。

我有两个问题:

  1. 访问代理密码钥匙串(keychain)的推荐方法是什么?
  2. 是否有任何 python 库可以做到这一点?

最佳答案

使用keyring super 方便Python 中的库。安装对我来说很简单:

$ sudo easy_install keyring

然后,使用此处描述的简单 API:https://alexwlchan.net/2016/11/you-should-use-keyring/

$ python
>>> import keyring
>>> import getpass
>>> keyring.set_password('twitter', 'xkcd', getpass.getpass())
Password:
>>> keyring.get_password('twitter', 'xkcd')
u'correct horse battery staple'

参见 https://xkcd.com/936/这个密码背后的故事。 :-)

我不确定这是否与您所指的代理密码完全集成,因为我只是用它来存储简单脚本的密码。

关于python - 如何从 python 中的 osx 钥匙串(keychain)获取代理密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29740808/

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