2012年8月15日 星期三

java.io.IOException: Server returned HTTP response code: 401 for URL

在測試 HTTP 行為時,出現這個錯誤訊息
「java.io.IOException: Server returned HTTP response code: 401 for URL: ....」
參考 [1] 之後發現是因為網站需要使用基本的驗證(即在網址上面串 http://id:password@domain/ 這種形式)
因此需要加入標頭 Authentication 來讓伺服器做驗證。

String loginPassword = login+ ":" + password;
String encoded = new sun.misc.BASE64Encoder().encode (loginPassword.getBytes());
URLConnection conn = url.openConnection();
conn.setRequestProperty("Authorization", "Basic " + encoded);

參考資料:
1、Server returned HTTP response code: 401 for URL: https

沒有留言: