JAVA示例代码
package com.ksxing;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
/**
* Created by examstar on 2018/8/1.
*/
public class KSXJWTUtil {
/**
* 客户唯一标识符,由考试星提供,需替换成自己的appId
*/
private static final int appId = 123456;
/**
* 用于加密jwt,由考试星提供,需替换成自己的appKey
*/
private static final String appKey = "debae3071b7d48818fe51a1fbc1b1113";
/**
* 生成jwtInfo
*
* @param actionId
* @return
*/
private static String getJWTInfo(String actionId) {
String jwtInfo = null;
try {
jwtInfo = Jwts.builder()
.setHeaderParam("alg", "HS256")
.setHeaderParam("typ", "JWT")
.claim("exp", System.currentTimeMillis() + 1000 * 10)
.claim("action_id", actionId)
.signWith(
SignatureAlgorithm.HS256,
appKey.getBytes(StandardCharsets.UTF_8.toString())
)
.compact();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return jwtInfo;
}
/**
* 获取post请求地址
*
* @param actionId
* @return
*/
public static String getPostUrl(String actionId) {
/**
* 考试星域名
*/
String domainUrl = "https://api.kaoshixing.com";
String postUrl = String.format("%s/api/company/data/%d/?jwt=%s", domainUrl, appId, getJWTInfo(actionId));
return postUrl;
}
}
package com.ksxing;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
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.HttpClients;
import org.apache.http.util.EntityUtils;
import java.nio.charset.StandardCharsets;
/**
* Created by examstar on 2018/8/1.
*/
public class KSXPostUtil {
public static String sendPost(String url, String body) {
String responseContent = null;
try {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader("Content-Type", "application/json");
httpPost.setEntity(new StringEntity(body, StandardCharsets.UTF_8.toString()));
CloseableHttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
responseContent = EntityUtils.toString(entity, StandardCharsets.UTF_8.toString());
response.close();
httpClient.close();
} catch (Exception e) {
e.printStackTrace();
}
return responseContent;
}
}
package com.ksxing;
import net.sf.json.JSONObject;
/**
* Created by examstar on 2018/8/1.
*/
public class KSXPostUtilTest {
public static void main(String[] args) {
String postUrl = KSXJWTUtil.getPostUrl("201");
JSONObject json = new JSONObject();
json.put("user_id", "ksx001");
json.put("user_name", "考试星测试");
json.put("role", "staff");
json.put("department", "总部");
System.out.println(KSXPostUtil.sendPost(postUrl, json.toString()));
}
}