[英]cURL equivalent in JAVA
我的任務是為開源JAVA
應用程序編寫身份驗證組件。 我們有一個使用https
的內部身份驗證窗口小部件。 我有一些示例php
代碼,可訪問使用cURL
來處理傳輸的widget
。
我的問題是JAVA
是否有cURL
的端口,或者更好的是,什么基本軟件包將使我足夠接近以處理任務?
更新 :
簡而言之,我想在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);
荒地 ,我認為您的目標是正確的,我認為我最終將使用HttpsURLConnection,然后從響應中選擇所需的內容。
省略異常處理:
HttpURLConnection con = (HttpURLConnection) new URL("https://www.example.com").openConnection();
con.setRequestMethod("POST");
con.getOutputStream().write("LOGIN".getBytes("UTF-8"));
con.getInputStream();
嘗試使用Apache Commons Net獲取網絡協議。 自由!
如果您需要比Commons Net提供的功能更多的功能,也可以嘗試從Apache項目中嘗試[ http://hc.apache.org/](HTTP組件)。
您可以嘗試curl-to-java lib將curl php代碼轉換為Java代碼https://github.com/jeffreyning/curl-to-java演示,例如
public Object curl(String url, Object postData, String method) {
CurlLib curl = CurlFactory.getInstance("default");
ch = curl.curl_init();
curl.curl_setopt(ch, CurlOption.CURLOPT_CONNECTTIMEOUT, 1000);
curl.curl_setopt(ch, CurlOption.CURLOPT_TIMEOUT, 5000);
curl.curl_setopt(ch, CurlOption.CURLOPT_SSL_VERIFYPEER, false);
curl.curl_setopt(ch, CurlOption.CURLOPT_SSL_VERIFYHOST, false);
String postDataStr = "key1=v1";
curl.curl_setopt(ch, CurlOption.CURLOPT_CUSTOMREQUEST, "POST");
curl.curl_setopt(ch, CurlOption.CURLOPT_POSTFIELDS, postDataStr);
curl.curl_setopt(ch, CurlOption.CURLOPT_URL, "https://xxxx.com/yyy");
Object html = curl.curl_exec(ch);
Object httpCode = curl.curl_getinfo(ch, CurlInfo.CURLINFO_HTTP_CODE);
if (httpCode != null && 200 == Integer.valueOf(httpCode.toString())) {
return null;
}
return html;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.