Java中在程序中設置代理服務器
發表時間:2023-08-23 來源:明輝站整理相關軟件相關文章人氣:
[摘要]在 Java 中代理服務器的基本設置是通過設置系統屬性來完成的。而代理服務器的驗證則是通過設置 Http 請求頭來完成的。 下面的是一個簡單的例子供大家參考: // 根據地址 url 打開 Http...
在 Java 中代理服務器的基本設置是通過設置系統屬性來完成的。而代理服務器的驗證則是通過設置 Http 請求頭來完成的。
下面的是一個簡單的例子供大家參考:
// 根據地址 url 打開 Http 連接
HttpURLConnection con = (HttpURLConnection)( new URL( url ) ).openConnection();
if (proxy.hasProxy()) {
// 注意: 如果 proxySet 為 false 時,依然設置了 proxyHost 和 proxyPort,代理設置仍會起作用。
// 如果 proxyPort 設置有問題,代理設置不會起作用。
System.getProperties().put( "proxySet", "true" );
System.getProperties().put( "proxyHost", proxy.getProxyHost() );
System.getProperties().put( "proxyPort", String.valueOf( proxy.getProxyPort() ) );
// 如果需要代理服務器驗證,在 Http 請求頭中加入 Proxy-Authorization 頭,
// 格式為: "Basic " + ("代理服務器用戶名:密碼"的 BASE64 編碼)
if (proxy.needAuth()) {
con.setRequestProperty( "Proxy-Authorization", "Basic " + Encoder.base64Encode( proxy.getProxyUser() + ":" + proxy.getProxyPass() ) );
}
}