求解java怎样发送https请求

2020-11-29 14:16:48 字数 3776 阅读 4074

1楼:白卡

使用httpclient可以发送,具体的可以参考下面的**

sslclient类,继承至httpclient

importjava.security.cert.certificateexception;

importjava.security.cert.x509certificate;

importjavax.***.ssl.sslcontext;

importjavax.***.ssl.trustmanager;

importjavax.***.ssl.x509trustmanager;

import***.apache.http.conn.clientconnectionmanager;

import***.apache.http.conn.scheme.scheme;

import***.apache.http.conn.scheme.schemeregistry;

import***.apache.http.conn.ssl.sslsocketfactory;

import***.apache.http.impl.client.defaulthttpclient;

//用于进行https请求的httpclient

publicclasssslclientextendsdefaulthttpclient

@override

publicvoidcheckservertrusted(x509certificatechain,

stringauthtype)throwscertificateexception

@override

publicx509certificategetacceptedissuers()

};ctx.init(null,newtrustmanager,null);

sslsocketfactoryssf=newsslsocketfactory(ctx,sslsocketfactory.allow_all_hostname_verifier);

clientconnectionmanagerccm=this.getconnectionmanager();

schemeregistrysr=ccm.getschemeregistry();

sr.register(newscheme("https",443,ssf));}}

httpclient发送post请求的类

importjava.util.arraylist;

importjava.util.iterator;

importjava.util.list;

importjava.util.map;

importjava.util.map.entry;

import***.apache.http.httpentity;

import***.apache.http.httpresponse;

import***.apache.http.namevaluepair;

import***.apache.http.client.httpclient;

import***.apache.http.client.entity.urlencodedformentity;

import***.apache.http.client.methods.httppost;

import***.apache.http.message.basi**amevaluepair;

import***.apache.http.util.entityutils;

/**利用httpclient进行post请求的工具类

*/publicclasshttpclientutil

if(list.size()>0)

httpresponseresponse=httpclient.execute(httppost);

if(response!=null)

}}catch(exceptionex)

returnresult;}}

测试**

importjava.util.hashmap;

importjava.util.map;

//对接口进行测试

publicclasstestmain

publicvoidtest()

publicstaticvoidmain(stringargs)}

如何在java中发起http和https请求

2楼:育知同创教育

1.写http请求方法

[java] view plain copy

//处理http请求 requesturl为请求地址 requestmethod请求方式,值为"get"或"post"

public static string httprequest(string requesturl,string requestmethod,string outputstr){

stringbuffer buffer=null;

try{

url url=new url(requesturl);

httpurlconnection conn=(httpurlconnection)url.openconnection();

conn.setdooutput(true);

conn.setdoinput(true);

conn.setrequestmethod(requestmethod);

conn.connect();

//往服务器端写内容 也就是发起http请求需要带的参数

如何用java**实现https请求,我要最新的**,谢谢

3楼:匿名用户

httpsurlconnection 就可以了。。。。。。。。。。。具体还要看服务器端的ssl设置

用java做一个httpclient 发送https 的get请求,需要证书验证的那种,求大神指点一下!

4楼:匿名用户

你那个 sslsocketfactory(ks) 是自己的类?

你有用过 keymanager.init (...)? 和 trustmanager.init(...) ?

想要在连接建立过程上交互式的弹出确认对话框来的话需要我们自己提供一个 keymanager 和 trustmanager 的实现类,这有点复杂,你可以看一个 sun 的 x509keymanager 是怎么做的,默认地情况下它是从自动搜索匹配的 subject ,我们需要用自己提供的方式弹出确认的过程还不是全自动,另外一个账户可能有多个数字证书,比如支付宝我们就有多个签发时间不一样的数字证书,在连接建立时 ie 会提示我们选择其中的一个来使用,银行的 u 盾在安装多张数字证书时也会提示我们选择其中一个对应到你正在使用的银行卡号的那张证书。

5楼:崇梅宿罗

貌似导入密钥库的证书要包括整个证书链,而且https**部署的证书要是权威ca机构(比如国内的沃通,国外的geotrust等)颁发的受信任的证书

求解java怎样发送https请求

6楼:金灶沐栋栋

http://bbs.chinaunix.

***/forum.php?mod=viewthread&tid=3618245 参考一下这个帖子,你问的这个问题面太泛了。

怎么在https下发送http请求

1楼 匿名用户 关闭301跳转功能,或者取消302或者伪静态对http跳转https的设置,这样就是http与https共享协议,然后用http就可以请求了。 如何在java中发起http和https请求 2楼 育知同创教育 1 写http请求方法 java view plain copy 处理ht...