2008-09-22 85 views
41

我的任務是爲開源應用程序編寫身份驗證組件。我們有一個使用https的內部認證小部件。我有一些例子php訪問widget的代碼,它使用cURL來處理傳輸。在JAVA中相當於cURL

我的問題是,是否有一個端口cURLJAVA,或更好的是,什麼基礎包會讓我足夠接近處理任務?

更新

這是概括地說,該代碼我想在JAVA中複製:

$cp = curl_init(); 
$my_url = "https://" . AUTH_SERVER . "/auth/authenticate.asp?pt1=$uname&pt2=$pass&pt4=full"; 
curl_setopt($cp, CURLOPT_URL, $my_url); 
curl_setopt($cp, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($cp); 
curl_close($cp); 

Heath,我認爲你是在正確的軌道上,我想我最終會使用HttpsURLConnection,然後從響應中挑選出我需要的東西。

回答

60

異常處理省略:

HttpURLConnection con = (HttpURLConnection) new URL("https://www.example.com").openConnection(); 
con.setRequestMethod("POST"); 
con.getOutputStream().write("LOGIN".getBytes("UTF-8")); 
con.getInputStream(); 
+3

你會如何添加基本驗證這個? – BWelfel 2010-09-07 23:11:17

+5

@BWelfel,con.setRequestProperty(「Authorization」,「Basic dXNlcm5hbWU6cGFzc3dvcmQ =」); //用戶名:密碼base64編碼 – 2011-06-15 21:03:47

1

嘗試Apache Commons Net網絡協議。自由!

+0

這個庫中沒有HTTP客戶端,這是一種恥辱,因爲否則的Apache Commons是非常好的(從*經驗之談*):http://commons.apache.org/net/ – therobyouknow 2010-02-05 15:26:22

4

jsoup

jsoup庫獲取的URL作爲其HTML刮解析職責的第一步。

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();