我目前正在使用libproxy来获取RedHat和Debian Linux上的代理信息(如果有的话).它不能很好地工作,但它是我知道我可以用来从我的代码中获取代理信息的唯一方法.我需要停止使用lib,因为在大多数情况下它不能识别代理.有没有办法获取代理信息?我的意思是,是否有我可以阅读的文件(或文件组),或者我可以用来获取信息的env变量或API或系统调用?基于Gnome的代码是可以的,KDE可能也有帮助,但我正在寻找更通用的东西.代码是C.
现在,在有人要求之前,我不想再使用libproxy了.期.我不想开始调查它为什么不起作用.我真的不想知道是否有新版本的lib.我知道它可能有效,我只是不想使用它.我不能使用它(只是因为).所以请不要那样指着我.
代码表示赞赏.
谢谢.
在linux中,"全局代理设置"通常只是通常设置的环境变量/etc/profile
.您可以检查这些变量以查看设置了什么代理.
变量是:
http_proxy
- HTTP连接的代理
ftp_proxy
- FTP连接的代理
使用Gnome下的网络代理首选项工具可以保存GConf数据库中的信息.键的路径是/system/http_proxy
和/system/proxy
.您可以在此页面上阅读这些树中的详细信息.
您可以使用库API访问GConf数据库.请注意,GConf基于GObject.要使用命令行检查此树的内容,请尝试以下操作:
gconftool-2 -R /system/http_proxy
这将提供树的"名称=值"列表,可以在您的应用程序中使用.请注意,这需要system()
调用,因此不建议将其用于已部署的应用程序,但它可能会帮助您开始使用.