使用jsoup模拟登录获取session 请求后台接口获取数据

登录网站获取session

 

<dependency>
 	<groupId>org.jsoup</groupId>
  	<artifactId>jsoup</artifactId>
  	<version>1.11.3</version>
</dependency>

 

import java.util.HashMap;
import java.util.Map;

import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.Connection.Method;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Repository;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

@Repository
public class GetSession {
	public static String session;
	public String getSession() {
		String sessionId;
		try {
            //请求需要的参数
			String  param = "{\"header\":{\"agent\":\"gh\",\"version\":\"1.0\",\"device\":\"\",\"platform\":\"\",\"locale\":\"CN\",\"ext\":\"0\" },\"request\":{\"method\":\"getApplicationGridLogin_SENSOR\",\"params\":{\"uID\":\"admin\",\"pwd\":\"admin\",\"luID\":\"xxx\",\"userName\":\"xxx\",\"password\":\"xxx\",\"type\":\"1\",\"param1\":null,\"telephone\":null,\"menuCode\":\"SYNTHESIZE\",\"macAddress\":\"4RQTKsj5rhpfZXir\"}}}";
            //伪装请求头
            Map<String,String> headerMap = new HashMap<String, String>();
            headerMap.put("Host", "xxx");
            headerMap.put("Connection", "keep-alive");
            headerMap.put("Content-Length", "341");
            headerMap.put("Accept", "application/json, text/javascript, */*; q=0.01");
            headerMap.put("Origin", "xxx");
            headerMap.put("User-Agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Mobile Safari/537.36");
            headerMap.put("Content-Type", "application/json; charset=UTF-8");
            headerMap.put("Referer", "xxx");
            headerMap.put("Accept-Encoding", "gzip, deflate");
            headerMap.put("Accept-Language", "zh-CN,zh;q=0.9");
            
			Connection.Response  res = 
                    Jsoup.connect("xxx")
                        .method(Method.POST)
                      .headers(headerMap)
                      .requestBody(param)
                      .ignoreContentType(true)
                      .execute();
			com.alibaba.fastjson.JSONObject parseObject = JSON.parseObject(res.body());//获取的json格式的字符串需要转为json对象
			Object object = parseObject.get("response");
			com.alibaba.fastjson.JSONObject parseObject1 = JSON.parseObject(object.toString());
            JSONObject parseObject2 = JSON.parseObject(parseObject1.get("result").toString());
            sessionId=parseObject2.get("sessionId").toString();
            session=parseObject2.get("sessionId").toString();
            session="\""+session+"\"";
            return sessionId;
		}catch(Exception e){
		   e.printStackTrace();
		   return null;
		}
	}
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值