java实现-强智教务系统API文档-工具包

经过前几次的编写,发现很多代码是重复的,所以就写了一个Data包

import net.sf.json.JSONObject;
import org.apache.http.HttpEntity;
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.URISyntaxException;
import java.util.List;

public class Data {

    public String getToken(String xh, String pwd) throws URISyntaxException, IOException {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        URIBuilder uriBuilder = new URIBuilder("http://zswxyjw.minghuaetc.com/znlykjdxswxy/app.do");
        uriBuilder.setParameter("method", "authUser").setParameter("xh", xh).setParameter("pwd", pwd);
        HttpGet httpGet = new HttpGet(uriBuilder.build());
        CloseableHttpResponse response = httpClient.execute(httpGet);
        String s = null;
        if (response.getStatusLine().getStatusCode() == 200) {
            HttpEntity entity = response.getEntity();
            s = EntityUtils.toString(entity, "utf-8");
        }
        JSONObject obj = new JSONObject();
        obj = obj.fromObject(s);
        Object token = obj.get("token");
        return token.toString();
    }

    public JSONObject execute(List<BasicNameValuePair> list,String token) throws URISyntaxException, IOException {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        URIBuilder uriBuilder = new URIBuilder("http://zswxyjw.minghuaetc.com/znlykjdxswxy/app.do");
        for (BasicNameValuePair i:list) {
            uriBuilder.setParameter(i.getName(),i.getValue());
        }

        HttpGet httpGet = new HttpGet(uriBuilder.build());
        httpGet.setHeader("token",token);
        CloseableHttpResponse response = httpClient.execute(httpGet);

        HttpEntity entity = response.getEntity();
        String s = EntityUtils.toString(entity, "utf-8");



        JSONObject obj = new JSONObject();
        obj = obj.fromObject(s);
        return obj;
    }

}

主要方法:

JSONObject execute 执行请求,返回JSONObject 对象
String getToken 模拟登陆,返回一个token字符串

你可能感兴趣的:(强智教务系统API学习)