2014-07-15 77 views
0

有人可以解釋的用戶憑據究竟如何傳遞到下面的代碼服務器...Java的HTTP基本Authenication解釋

 URL urlObj = new URL("https://javaguy.com"); 

     HttpURLConnection conn = (HttpURLConnection) urlObj.openConnection(); conn.setRequestMethod("GET"); 
     conn.setRequestProperty("Accept", "text/xml"); 

     String userPassword = username + ":" + password; 
     byte[] authEncBytes = Base64.encodeBase64(userPassword.getBytes()); 
     String authStringEnc = new String(authEncBytes); 
     conn.setRequestProperty("Authorization", "Basic " + authStringEnc); 

難道是HTTP頭的一部分?只是好奇。

在此先感謝。

回答

0

你已經回答了你自己的問題,但是。 「授權」是標題的一部分。

您可以在wikipedia上閱讀有關基本認證的更多信息。

然後javadoc不是很清楚,但setRequestProperty應該添加新的屬性到請求頭。如果您打算在生產系統中執行任何http請求,我會敦促您考慮使用像HttpClient這樣的庫。直接使用URL和URLConnection可能會很棘手。 HttpClient並不是很容易處理,但它比URL/URLConnection更容易。

有兩個HttpClient庫,請確保您使用的是版本4(這是該帖子發佈時的最新版本)而不是版本3。