簡體   English   中英

設置Java應用程序的代理

[英]Setting proxy for java application

我正在創建一個Java應用程序,該應用程序通過https調用某些服務。 但是每當我調用任何api時,我都需要通過System.setProperty(“ https.proxyHost”,“某些代理主機”);來設置代理。這也與系統有關,因為代理主機可以在更改系統時進行更改。它像瀏覽器一樣自動選擇代理。 有沒有什么方法可以配置一次或使其自動檢測代理設置?

通過將System屬性java.net.useSystemProxies設置為true ,可以將其設置為使用系統代理設置,就像瀏覽器一樣。 通過執行您的代碼:

System.setProperty("java.net.useSystemProxies","true");

在命令行上

java -Djava.net.useSystemProxies=true ...

或在${java.home}/lib/net.properties文件中作為JRE的默認值。 我以前的答案之一中查看更多內容。

請注意,這僅在沒有其他地方嘗試在代碼(System :: setProperty)或命令行( -Dhttp.proxyHost=some.proxy.host )中手動設置代理時-Dhttp.proxyHost=some.proxy.host 手動設置代理將簡單地撤消此操作。

如果通過代理運行,則是的,除非您已在系統上將其設置為環境變量,否則必須自行指定。

您可以在運行應用程序時指定代理。 就像是:

java -Dhttp.proxyHost=some.proxy.host

另外,不要忘記選擇非代理主機

正確的方法是讓用戶輸入代理詳細信息(如果需要)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM