当前位置:  开发笔记 > 编程语言 > 正文

以编程方式获取Linux上的代理信息

如何解决《以编程方式获取Linux上的代理信息》经验,为你挑选了1个好方法。

我目前正在使用libproxy来获取RedHat和Debian Linux上的代理信息(如果有的话).它不能很好地工作,但它是我知道我可以用来从我的代码中获取代理信息的唯一方法.我需要停止使用lib,因为在大多数情况下它不能识别代理.有没有办法获取代理信息?我的意思是,是否有我可以阅读的文件(或文件组),或者我可以用来获取信息的env变量或API或系统调用?基于Gnome的代码是可以的,KDE可能也有帮助,但我正在寻找更通用的东西.代码是C.

现在,在有人要求之前,我不想再使用libproxy了.期.我不想开始调查它为什么不起作用.我真的不想知道是否有新版本的lib.我知道它可能有效,我只是不想使用它.我不能使用它(只是因为).所以请不要那样指着我.

代码表示赞赏.

谢谢.



1> jheddings..:

在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()调用,因此不建议将其用于已部署的应用程序,但它可能会帮助您开始使用.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有