import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.commons.lang.StringUtils;
public class GetSessionIDUtil {
public static String getSessionId(String postData)
throws NoSuchAlgorithmException, KeyManagementException {
String sessionId = "";
String createSessionURL = "https://hlixgr244.apac.nsroot.net/CONAV/CBOLSessionManagement/createsession";
try {
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs,
String authType) {
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs,
String authType) {
}
} };
HttpsURLConnection
.setDefaultHostnameVerifier(new HostnameVerifier() {
public boolean verify(String string, SSLSession ssls) {
return true;
}
});
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection
.setDefaultSSLSocketFactory(sc.getSocketFactory());
URL url = new URL(createSessionURL);
HttpURLConnection connect = (HttpURLConnection) url .openConnection();
connect.setDoOutput(true);
DataOutputStream out = new DataOutputStream(connect .getOutputStream());
out.writeBytes(postData);
out.flush();
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader( connect.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
// sessionId += "n" + line;
System.out.println("page info ===> " + line);
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(sessionId + "s");
return sessionId;
}
public static void main(String[] as) throws KeyManagementException,
NoSuchAlgorithmException, UnsupportedEncodingException {
String GRBNumber = "004195137";
String PageID = "HomePage";
String Initial_Request_timestamp = "1317023781100";
String ICHANNEL_ID = "Default";
String DIGITAL_SIGNATURE = "X6FYQO2Gy2rJ1ir5dVUcyvRFqMoGDYzymy3EfzE0Hv/09A+zlxtKGk4mJRvRhJH0+GtSqQUhzSHFauQeW3ZQ9YqT673JmDapYlh3X0sVdPCcUJLqKIHRiqz91HRTxTcm7y7R+J66+awiKHOhTH9hHxzWf6W5n8RvI2N9cfZDJ9E=";
DIGITAL_SIGNATURE=StringUtils.replace(DIGITAL_SIGNATURE, "+", "%2B");
String postData ="GRBNumber=" + GRBNumber + "&PageID=" + PageID
+ "&Initial_Request_timestamp=" + Initial_Request_timestamp
+ "&ICHANNEL_ID=" + ICHANNEL_ID + "&DIGITAL_SIGNATURE="
+ DIGITAL_SIGNATURE;
// postData = URLEncoder.encode(postData);
System.out.println(postData);
getSessionId(postData);
}
}
分享到:
相关推荐
微信商务平台 p12证书调用java代码 lib包请从微信商务平台下载demo post请求
java发送https请求,解决了数组证书的问题,所依赖的jar都有
java的get和post请求,获取json的工具类,https时会存在ssl校验的问题,工具会自动去除ssl校验。
java支持https的Post请求,采用SSLContext绕过https的安全证书校验,含实例main函数
HttpURLConnection connection = ... connection.setRequestMethod( "POST"); connection.setDoOutput(true); connection.setDoInput(true); System.out.println( "1--Conected to "+ connection.toString());
java实现get请求post请求,文件传输 /** * 发送https请求 * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return 返回微信服务器响应的信息 ...
java代码发送JSON格式的httpPOST请求
java语言后台请求网站操作 java中main方法发送httpPost请求
(完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc
java调用HTTP接口(Get请求和Post请求)
java发送http/https请求(get/post)代码,java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法
JAVA常用POST请求汇总,用于调用别人的接口
Java模拟post请求传上传文件(文件流做参)、下载文件、好使的。
利用httpclient-4.3.1.jar、httpcore-4.3.jar包,很简单的用java实现httpget和httppost请求。
java http-post form表单客户端请求代码,拿过去直接应用即可
适用于javapost 文件流提交和接收数据
java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法
java HttpClient 发送GET请求和带有表单参数的POST请求教程例子
如果您正在寻找一份JAVA客户端发送POST请求的示例代码,那么我们的资源库将为您提供一切所需。本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时...
http远程接口调用-httpClient+跳过SSL证书校验. 里面分别有3个httpClient的工具类代码。 还有一个专门为了跳过SSL证书校验的工具类。