Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA中的cURL等价_Java_Php_Authentication_Curl - Fatal编程技术网

JAVA中的cURL等价

JAVA中的cURL等价,java,php,authentication,curl,Java,Php,Authentication,Curl,我的任务是为一个开源JAVAapp编写一个身份验证组件。我们有一个内部身份验证小部件,它使用https。我有一些示例php代码,它访问widget,它使用cURL来处理传输 我的问题是,是否有一个cURL到JAVA的端口,或者更好的是,什么样的基本包可以让我足够接近来处理任务 更新: 简而言之,这是我想用JAVA复制的代码: $cp = curl_init(); $my_url = "https://" . AUTH_SERVER . "/auth/authenticate.asp?pt1=$u

我的任务是为一个开源
JAVA
app编写一个身份验证组件。我们有一个内部身份验证小部件,它使用
https
。我有一些示例
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,然后从响应中选择我需要的内容。

尝试网络协议。免费

如果您需要比Commons Net提供的功能更多的功能,还可以尝试Apache项目中的[Components]。

异常处理省略:

HttpURLConnection con = (HttpURLConnection) new URL("https://www.example.com").openConnection();
con.setRequestMethod("POST");
con.getOutputStream().write("LOGIN".getBytes("UTF-8"));
con.getInputStream();
我会使用。项目中有一个contrib类,允许您使用ssl

我们正在使用它,它工作得很好

编辑:这里是

jsoup 该库获取URL作为其HTML抓取和解析任务的第一步

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

您可以尝试使用curl-to-java-lib将curl-php代码转换为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;
}

此库中没有HTTP客户端,这是一个遗憾,因为在其他方面Apache Commons非常好(从经验来看):您将如何为此添加基本身份验证?@BWelfel,con.setRequestProperty(“Authorization”,“basic dXNlcm5hbWU6cGFzc3dvcmQ=”);//用户名:password base64 encoded
con.setDoOutput(true)
?更新:该
Commons HttpClient
项目现已结束,并已被该项目取代。