private JSONObject sendHttpsRequest(String pUrl,JSONObject postData)
throws NoSuchAlgorithmException, KeyManagementException,
IOException, JSONException {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },
new java.security.SecureRandom());
StringBuffer mySign = new StringBuffer("");
YoutuSign.appSign(APP_ID, SECRET_ID, SECRET_KEY,System.currentTimeMillis() / 1000 + EXPIRED_SECONDS,
"", mySign);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
System.setProperty("sun.net.client.defaultReadTimeout", "30000");
//需要请求的地址
URL url = new URL(pUrl);
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setSSLSocketFactory(sc.getSocketFactory());
connection.setHostnameVerifier(new TrustAnyHostnameVerifier());
//请求方式采用post请求
connection.setRequestMethod("POST");
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("user-agent", "youtu-java-sdk");
connection.setRequestProperty("Authorization", mySign.toString());
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestProperty("Content-Type", "text/json");
connection.connect();
// POST请求
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
postData.put("app_id", APP_ID);
out.write(postData.toString().getBytes("utf-8"));
// 刷新、关闭
out.flush();
out.close();
// 读取响应
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String lines;
StringBuffer resposeBuffer = new StringBuffer("");
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes(), "utf-8");
resposeBuffer.append(lines);
}
// System.out.println(resposeBuffer+"\n");
reader.close();
// 断开连接
connection.disconnect();
JSONObject respose = JSONObject.fromObject(resposeBuffer.toString());
return respose;
}
java拼接请求
最新推荐文章于 2023-05-26 16:21:04 发布