php-JAVA中的cURL等效项
我的任务是为开源cURL应用程序编写身份验证组件。 我们有一个内部认证小部件,它使用29944892777504450450。我有一些示例php代码,该代码访问widget,该代码使用cURL处理传输。
我的问题是,是否有cURL到JAVA的端口,或更妙的是,什么基本软件包可以使我足够接近以完成任务?
更新:
简而言之,我想在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,然后从响应中选择我需要的内容。
6个解决方案
62 votes
省略异常处理:
HttpURLConnection con = (HttpURLConnection) new URL("https://www.example.com").openConnection();
con.setRequestMethod("POST");
con.getOutputStream().write("LOGIN".getBytes("UTF-8"));
con.getInputStream();
Heath Borders answered 2020-08-03T02:53:27Z
23 votes
我会使用Commons Http Client。 项目中有一个contrib类,可让您使用ssl。
我们正在使用它,并且运行良好。
编辑:这是SSL指南
ScArcher2 answered 2020-08-03T02:53:55Z
4 votes
是p
jsoup库获取URL是其HTML抓取和解析任务的第一步。
Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Basil Bourque answered 2020-08-03T02:54:20Z
1 votes
尝试使用Apache Commons Net获取网络协议。 自由!
Jason Cohen answered 2020-08-03T02:54:39Z
1 votes
如果您需要比Commons Net提供的功能更多的功能,则还可以尝试从Apache项目中尝试[[http://hc.apache.org/](HTTP]组件)。
WMR answered 2020-08-03T02:55:00Z
0 votes
您可以尝试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;
}
jeffrey answered 2020-08-03T02:55:20Z