如何使用c在Linux中获取系统代理设置

时间:2012-07-20 11:22:20

标签: c++ c linux

如何使用c或c ++读取linux中的系统代理设置值

3 个答案:

答案 0 :(得分:4)

您正在寻找此功能getenv ("http_proxy")

答案 1 :(得分:1)

系统代理设置通常存储在HTTP_PROXY,HTTPS_PROXY等环境变量中。

'C'允许我们通过向main()函数添加额外的参数envp来读取注册变量,如图所示。

    int main (int argc, char *argv[], char *envp[])
    {
      char *http_proxy, *https_proxy;
      http_proxy = getenv("HTTP_PROXY");
      https_proxy = getenv("HTTPS_PROXY");
      printf ("Proxy settings :: %s on %s.\n", http_proxy, https_proxy);
      return 0;
    }

根据您想要处理的变量,这应该可以解决问题。

答案 2 :(得分:0)

我见过的大多数Linux发行版都没有“系统代理”的概念。在Linux(KDE,Gnome等)上运行的桌面环境通常具有设置代理的配置选项,大多数为该桌面编写的应用程序随后可以访问,但是如何查看代码将根据您正在运行的环境而有所不同。另外,例如,运行Gnome下的KDE应用程序(反之亦然)可能无法获得相同的结果,除非两者都已正确配置。由于这个和许多其他事情,许多个人应用程序有自己的方式来设置代理。对某些应用程序有效的其中一种可能方式是其他答案中提到的环境变量(其他可能是各种配置文件,或连接到其中一个配置服务,如gconf)。如果你正在编写一个新的应用程序,并希望能够在该应用程序中设置和使用代理,这种方法可能是最简单的方法之一。