如何讀取系統代理設置使用C或C++如何用c
如何用c
回答
在linux值你正在尋找此功能getenv ("http_proxy")
getenv(「http_proxy」)在ubuntu中返回null。有沒有其他的選擇。 – ragu 2012-07-22 09:55:13
如果沒有任何env變量集匹配,getenv函數將返回NULL。因此,手動嘗試在shell上執行env命令並嘗試查找您正在討論的ubuntu系統是否設置了http_proxy – 2012-07-23 07:07:07
系統代理設置通常存儲在獲得的Linux系統代理設置環境變量,如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之類的配置服務之一)。如果你正在編寫一個新的應用程序,並希望能夠在該應用程序中設置和使用代理,那麼這種方法可能是最簡單的方法之一。
- 1. 如何用C \ C++
- 2. 如何用C
- 3. 如何用C#
- 4. 如何用C
- 5. 如何用C#
- 6. 如何用C#
- 7. 如何用C#
- 8. 如何用C++
- 9. 如何用C++
- 10. 如何用C
- 11. 如何用C#
- 12. 如何用C++
- 13. 如何用C++
- 14. 如何用c
- 15. 如何用C
- 16. 如何用C
- 17. 如何用C
- 18. 如何用C++
- 19. 如何用C++
- 20. 如何用c
- 21. 如何用C++
- 22. C#如何用「
- 23. 如何使用C/C++/JAVA
- 24. 如何用C或C++
- 25. 如何用C++的Visual C++
- 26. 如何使用C#
- 27. 如何使用C#
- 28. 如何使用C#
- 29. 如何從用C
- 30. 如何使用C#
[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – 2012-07-20 11:25:16
'http_proxy'環境變量有正在使用的代理。 – m0skit0 2012-07-20 11:25:24
我使用以下幾行來獲取代理設置: \t char * command =(char *)「gconftool-2 -R/system/http_proxy」; \t FILE * fpipe =(FILE *)popen(command,「r」); \t char line [256]; \t同時(與fgets(線,的sizeof(線),FPIPE)) \t { \t \t \t \t \t 的printf \t( 「%S」,線); \t} \t pclose(fpipe); – ragu 2012-07-23 12:54:53