1. 程式人生 > 其它 >java中使用Http呼叫資料

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();
}
}

}