java中使用Http调用数据

package com.bridata.dmp.property.common;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import java.util.ArrayList;
import java.util.List;

/**
* Date: 2021/12/24:17:52 <br/>
* Description:
* @author admin
*/
public class HttpClientUtils {

//判断登录
public static final String isLogin = "/isLogin";
//登录
public static final String login = "/login";
//访问地址
public static final String LOCATION = "http://地址";



//get接口掉方法
public static String isLogin(String driveid,String t,String t1){
//创建一个默认的HttpClient
HttpClient httpClient = HttpClientBuilder.create().build();
//HttpClient httpClient = new DefaultHttpClient();
StringBuilder sb = new StringBuilder();
sb.append(LOCATION);
sb.append(isLogin);
sb.append("?driveid=");
sb.append(driveid);
sb.append(",");
sb.append("t=");
sb.append(t);
sb.append(",");
sb.append("t1=");
sb.append(t1);
//目标URL
String url = sb.toString();
//以get方式请求网页
HttpGet httpGet = new HttpGet(url);

String entityStr = null;
try {
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity entity = httpResponse.getEntity();
StatusLine statusLine = httpResponse.getStatusLine();
int statusCode = statusLine.getStatusCode();
System.out.println("statusCode:"+statusCode);
entityStr = EntityUtils.toString(entity);
System.out.println("响应返回内容:"+entityStr);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return entityStr;
}

public static String myGet(String driveid,String t,String t1) {
String responseBody=null;

StringBuilder sb=new StringBuilder();
sb.append(LOCATION);
sb.append(isLogin);
sb.append("?driveid=");
sb.append(driveid);
sb.append(",");
sb.append("t=");
sb.append(t);
sb.append(",");
sb.append("t1=");
sb.append(t1);
//目标URL
String url = sb.toString();
//创建一个默认的HttpClient
HttpClient httpclient = HttpClientBuilder.create().build();
//HttpClient httpclient = new DefaultHttpClient();
try {
//以get方式请求网页
HttpGet httpget = new HttpGet(url);
//打印请求地址
System.out.println("executing request " + httpget.getURI());
//创建响应处理器处理服务器响应内容
ResponseHandler<String> responseHandler = new BasicResponseHandler();
//执行请求并获取结果
responseBody = httpclient.execute(httpget, responseHandler);
System.out.println(responseBody);
}catch(Exception e){
e.printStackTrace();
}finally {
// 当不再需要HttpClient实例时,关闭连接管理器以确保释放所有占用的系统资源
httpclient.getConnectionManager().shutdown();
return responseBody;
}
}


//Post请求
public static void myPost(){
//目标URL
String url = "http://地址/login";
//创建一个默认的HttpClient
HttpClient httpclient = HttpClientBuilder.create().build();
//HttpClient httpclient = new DefaultHttpClient();
try {
//以post方式请求网页
HttpPost httppost = new HttpPost(url);
//添加HTTP POST参数
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("username", "5"));
nvps.add(new BasicNameValuePair("password", "6"));

//将POST参数以UTF-8编码并包装成表单实体对象
httppost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
//打印请求地址
System.out.println("executing request " + httppost.getRequestLine().getUri());
//创建响应处理器处理服务器响应内容
ResponseHandler<String> responseHandler = new BasicResponseHandler();
//执行请求并获取结果
String responseBody = httpclient.execute(httppost, responseHandler);
System.out.println(responseBody);
}catch(Exception e){
e.printStackTrace();
}finally {
// 当不再需要HttpClient实例时,关闭连接管理器以确保释放所有占用的系统资源
httpclient.getConnectionManager().shutdown();
}
}

}




posted @ 2021-12-24 18:27  秃头小霸王  阅读(208)  评论(0)    收藏  举报