HTTPRequest Get Data in Java

2019-09-06 20:04发布

问题:


I would like to do an HTTPRequest in Java and then get the data from the server (it's not a webpage the data come from a database).
I try this but the getData doesn't work.
Do you know how I can get the Data?

  public static void main(String args[]) throws Exception {
    URL url = new URL("http://ip-ad.com");
    HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
    System.out.println("Request method is " + httpCon.getData());
 }

Thanks

回答1:

You can get the response body of the web request as an InputStream with:

httpCon.getInputStream();

From there it depends on what the format of the response data is. If it's XML then pass it to a library to parse XML. If you want to read it into a String see: Reading website's contents into string. Here's an example of writing it to a local file:

InputStream in = httpCon.getInputStream();
OutputStream out = new FileOutputStream("file.dat");
out = new BufferedOutputStream(out);
byte[] buf = new byte[8192];
int len = 0;
while ((len = in.read(buf)) != -1) {
    out.write(buf, 0, len);
}
out.close();


回答2:

You can use http://jersey.java.net/ .

It's a simple lib for your needs.