pom依賴
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
package cc.mrbird.febs.system.collection.cs;
import org.apache.http.*;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicHeader;
import org.apache.http.util.EntityUtils;
import java.io.*;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.*;
//模拟get請求帶參數
public class CshttpClient {
private static CloseableHttpClient httpClient = HttpClientBuilder.create().build();
public static void login(){
String loginurl = "XXXXXXXXXXXXXXXXXXXX?UserName=XXXX&PassWord=XXXXXXX";
// 構造參數,即模拟需要輸入的參數
HttpGet httpPost = new HttpGet(loginurl);
httpPost.addHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36");
CloseableHttpResponse response = null;
try {
// 向背景請求資料,登陸網站
response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity, StandardCharsets.UTF_8);
System.out.println("zhengyihao" + result + "zhengyihao");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
try {
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//模拟post請求,參數類型為Request Payload類型
public static void fb() {
String fburl = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
HttpPost httpPost = new HttpPost(fburl);
httpPost.addHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36");
httpPost.addHeader(new BasicHeader("Connection","keep-alive"));
httpPost.addHeader(new BasicHeader("Sec-Fetch-Mode","cors"));
httpPost.addHeader(new BasicHeader("Origin","https://wcm.cdstm.cn"));
httpPost.addHeader(new BasicHeader("X-Requested-With","XMLHttpRequest"));
httpPost.addHeader(new BasicHeader("Content-Type","application/json;charset=UTF-8"));
httpPost.addHeader(new BasicHeader("Accept","application/json"));
httpPost.addHeader(new BasicHeader("Sec-Fetch-Site","same-origin"));
httpPost.addHeader(new BasicHeader("Accept-Encoding","gzip, deflate, br"));
httpPost.addHeader(new BasicHeader("Accept-Language","zh-CN,zh;q=0.9"));
// httpPost.addHeader("X-Requested-With","XMLHttpRequest");
// httpPost.setHeader("Content-Type","text/html;charset=utf-8");
CloseableHttpResponse response = null;
try{ //csxml()方法為自己拼接組成的Request Payload參數
StringEntity stringEntity = new StringEntity(csxml(), Charset.forName("UTF-8"));
stringEntity.setContentType(new BasicHeader("Content-Type","application/json; charset=utf-8"));
stringEntity.setContentEncoding(Consts.UTF_8.name());
httpPost.setEntity(stringEntity);
response = httpClient.execute(httpPost);
if(response.getStatusLine().getStatusCode() == 200){
HttpEntity httpEntity = response.getEntity();
String toStringEntity = EntityUtils.toString(httpEntity, StandardCharsets.UTF_8);
System.out.println("monifabu" + toStringEntity + "monifabu");
EntityUtils.consume(httpEntity);
}else if(response.getStatusLine().getStatusCode() == 302){
System.out.println("運作失敗了");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try{
response.close();
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}finally {
System.out.println("關閉資源");
}
}
}
教程點選我