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

How to get the system proxy settings in Linux using c

本文关键字:获取 系统 代理 设置 Linux      更新时间:2023-10-16

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

您正在查找此函数getenv ("http_proxy")

系统代理设置通常存储在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;
    }

这应该取决于您想要处理的变量。

我看到的大多数Linux发行版都没有"系统代理"的概念。在Linux之上运行的桌面环境(KDE、Gnome等…)通常有设置代理的配置选项,大多数为该桌面编写的应用程序都可以访问该代理,但如何在代码中查找该代理取决于您运行的环境。此外,在Gnome下运行例如KDE应用程序或反之亦然,可能不会得到相同的结果,除非两者都已正确配置。由于这一点和许多其他因素,许多单独的应用程序都有自己的方法来设置代理。适用于某些应用程序的可能方法之一是其他答案中提到的环境变量(其他可能是各种配置文件,或连接到gconf等配置服务之一)。如果你正在编写一个新的应用程序,并且只想在该应用程序中设置和使用代理,这种方法可能是最简单的方法之一。