有没有办法在没有外部库的情况下通过NetBeans发送GET和POST请求?

时间:2014-08-08 14:22:49

标签: java netbeans apache-httpclient-4.x

我最近选择了NetBeans作为用于编写GUI应用程序的综合IDE。令我印象深刻的是,它没有任何内置支持来创建和读取对简单GET和POST请求的响应。虽然这个似乎是因为它针对的是一群有兴趣在NetBeans中编写Web服务的人,但我希望无论如何都会在程序中有一些基本的请求和响应功能。

是否已包含用于此目的的库? (如果有,我必须使用错误的方法来寻找它。)

目前,我已经下载并使用了Apache的HTTPClient和IOUtils,工作,但看起来它们可能是多余的。

2 个答案:

答案 0 :(得分:1)

试试这个 GET

URL url = new URL(urlString);
HttpURLConnection c = (HttpURLConnection)url.openConnection();  //connecting to url
c.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(c.getInputStream()));  //stream to resource
String str;
while ((str = in.readLine()) != null)   //reading data
   responsestring += str+"\n";//process the response and save it in some string or so
in.close();  //closing stream

对于POST

URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

con.setRequestMethod("POST");

String urlParameters = ..;

con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();

BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer res = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
    res.append(inputLine);
}
in.close();

答案 1 :(得分:0)

NetBeans不为您提供任何java类。所有类都来自java库,NetBeans只是让您方便地工作的IDE。

所以要翻译你的问题:不,标准的java库没有为你提供URLConnection以外的有用的http客户端。

Apache HTTPClient库是一种很好的方法,对于基本的GET和POST来说,它太复杂了。但是,自己编写GET和POST非常简单,请查看htt protocol