[英]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.