无参数的GET请求
import org.apache.http.*;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
public class TestGet {
public static void main(String[] args) throws IOException {
///创建内置httpclient对象
CloseableHttpClient client = HttpClients.createDefault();
//创建get请求对象
HttpGet get = new HttpGet("https://www.baidu.com");
//发送请求,创建响应对象
CloseableHttpResponse response = client.execute(get);
try {
//获得响应实体
HttpEntity entity = response.getEntity();
//输出响应实体
System.out.println(EntityUtils.toString(entity));
}finally {
//关闭响应
response.close();
}
}
}
有参数的GET请求
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
public class LessonGet2 {
public static void main(String[] args) throws URISyntaxException, IOException {
//创建内置httpclient对象
CloseableHttpClient client = HttpClients.createDefault();
//构建请求参数
List<NameValuePair> list = new ArrayList<>();
BasicNameValuePair param1 = new BasicNameValuePair("cityname","上海");
BasicNameValuePair param2 = new BasicNameValuePair("key","4b9e97c83bxxxxxxxfde6e0e754bd");
list.add(param1);
list.add(param2);
//构建请求URL
URI uri = new URIBuilder("http://v.juhe.cn")
.setPath("weather/index")
.setParameters(list)
.build();
//创建GET请求对象
HttpGet httpGet = new HttpGet(uri);
//执行GET请求,获得响应
CloseableHttpResponse response = client.execute(httpGet);
try {
System.out.println("响应行:"+response.getStatusLine());
//获得响应实体对象
HttpEntity entity = response.getEntity();
//实体工具类输出响应实体内容
System.out.println(EntityUtils.toString(entity));
}finally {
response.close();
}
}
}
这是一个查询天气的GET接口,因为找不到免费的接口,所以用的https://www.juhe.cn/myData这个网站的。
想要实验下的话可以注册,免费送几百次使用。学习的话应该够了。