Java如何执行HTTP GET方法?
以下是使用CommonsHttpClient库通过HTTPGET方法从网站检索信息的示例。该方法将响应作为流返回HttpMethod.getResponseBodyAsStream()。如果您想要简单的内容,则可以使用HttpMethod.getResponseBodyAsString()方法以字符串形式获取响应。
package org.nhooo.example.commons.httpclient; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpMethod; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.GetMethod; import java.io.*; import java.nio.charset.StandardCharsets; public class HttpGetDemo { public static void main(String[] args) { HttpClient client = new HttpClient(); HttpMethod method = new GetMethod("https://nhooo.org"); try { client.executeMethod(method); if (method.getStatusCode() == HttpStatus.SC_OK) { InputStream is = method.getResponseBodyAsStream(); if (is != null) { Writer writer = new StringWriter(); char[] buffer = new char[1024]; try { Reader reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)); int length; while ((length = reader.read(buffer)) != -1) { writer.write(buffer, 0, length); } } finally { is.close(); } System.out.println("Response = " + writer.toString()); } } } catch (IOException e) { e.printStackTrace(); } finally { method.releaseConnection(); } } }
Maven依赖
<!-- http://repo1.maven.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar --> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency>