package com.w3ang.learning.https; import java.security.cert.CertificateException; import java.secur
来源:互联网 发布:spss数据转换 编辑:程序博客网 时间:2024/06/14 07:20
HttpClientUtil:
package com.w3ang.learning.https;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;/* * 利用HttpClient进行post请求的工具类 */public class HttpClientUtil { public String doPost(String url,Map<String,String> map,String charset){ HttpClient httpClient = null; HttpPost httpPost = null; String result = null; try{ httpClient = new SSLClient(); httpPost = new HttpPost(url); //设置参数 List<NameValuePair> list = new ArrayList<NameValuePair>(); Iterator iterator = map.entrySet().iterator(); while(iterator.hasNext()){ Entry<String,String> elem = (Entry<String, String>) iterator.next(); list.add(new BasicNameValuePair(elem.getKey(),elem.getValue())); } if(list.size() > 0){ UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset); httpPost.setEntity(entity); } HttpResponse response = httpClient.execute(httpPost); if(response != null){ HttpEntity resEntity = response.getEntity(); if(resEntity != null){ result = EntityUtils.toString(resEntity,charset); } } }catch(Exception ex){ ex.printStackTrace(); } return result; }}TestMain:package com.w3ang.learning.https;import java.util.HashMap;import java.util.Map;//对接口进行测试public class TestMain { private String url = "http://127.0.0.1:8080/"; private String charset = "utf-8"; private HttpClientUtil httpClientUtil = null; public TestMain(){ httpClientUtil = new HttpClientUtil(); } public void test(){ String httpOrgCreateTest = url + "httpOrg/create"; Map<String,String> createMap = new HashMap<String,String>(); createMap.put("authuser","*****"); createMap.put("authpass","*****"); createMap.put("orgkey","****"); createMap.put("orgname","****"); String httpOrgCreateTestRtn = httpClientUtil.doPost(httpOrgCreateTest,createMap,charset); System.out.println("result:"+httpOrgCreateTestRtn); } public static void main(String[] args){ TestMain main = new TestMain(); main.test(); }}SSLClient:package com.w3ang.learning.https;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import org.apache.http.conn.ClientConnectionManager;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.scheme.SchemeRegistry;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.DefaultHttpClient;//用于进行Https请求的HttpClientpublic class SSLClient extends DefaultHttpClient{ public SSLClient() throws Exception{ super(); SSLContext ctx = SSLContext.getInstance("TLS"); X509TrustManager tm = new X509TrustManager() { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public X509Certificate[] getAcceptedIssuers() { return null; } }; ctx.init(null, new TrustManager[]{tm}, null); SSLSocketFactory ssf = new SSLSocketFactory(ctx,SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); ClientConnectionManager ccm = this.getConnectionManager(); SchemeRegistry sr = ccm.getSchemeRegistry(); sr.register(new Scheme("https", 443, ssf)); }}
阅读全文
0 0
- package com.w3ang.learning.https; import java.security.cert.CertificateException; import java.secur
- java.security.cert.CertificateException: No name matching https证书验证不通过
- java.security.cert.CertificateException: No name matching api.weibo.com found;取消验证
- Java.Security.Cert.CertificateException: No Name Matching Localhost Found
- Android 问题解决:Caused by: java.security.cert.CertificateException
- java.security.cert.CertificateException: Selenium 自动化的时候调用API 执行操作引起的关于https的问题
- java package,import
- java package,import
- java package,import
- java package,import
- Java package 与 import
- java import和package
- java package import(转)
- java package import
- Java 面向对象 package/import/import static
- 导入申请的证书时发生java.security.cert.CertificateException: java.io.EOFException异常
- java.security.cert.CertificateException: No name matching cas.gogoyuan.cn found
- java.security.cert.CertificateException: Certificates does not conform to algorithm constraints
- 单词查找树
- mysql 基于binlog恢复
- SQL注入之盲注sqli-labs-master
- mybatis中自定义ObjectFactory
- oracleday22(备份 恢复 卸载)
- package com.w3ang.learning.https; import java.security.cert.CertificateException; import java.secur
- 数组的常用编辑
- kmp入门--hd 2203 亲和串
- LaTeX在双栏模式下插入跨栏图表
- 我账号的私信总是被删,请勿私信联系
- 第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming运行机制和架构
- 使用Xpath读取xml文件
- XPath路径表达式
- 曙光初现