问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-20 04:58

我来回答

1个回答

热心网友 时间:2023-06-08 21:43

灞曞紑鍏ㄩ儴HttpURLConnection conn =  (HttpURLConnection) new URL(url).openConnection();
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));
String inputLine= null;
while((inputLine = bufferReader.readLine()) != null){
    buffer.append(inputLine);
}
bufferReader.close();
conn.disconnect();

System.out.println( inputLine);

热心网友 时间:2023-07-15 12:00

使用httpClient可以发送,具体的可以参考下面的代码

SSLClient类,继承至HttpClient

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请求的HttpClient
public 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));
    }
}

HttpClient发送post请求的类

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;
}
}

测试代码

import java.util.HashMap;
import java.util.Map;
//对接口进行测试
public class TestMain {
private String url = "https://192.168.1.101/";
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();
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怀孕甲状腺激素偏高正常吗 怀孕检查甲状腺素偏高是什么原因引起的 怀孕了甲状腺功能偏高是怎么回事 怀孕甲状腺高是什么引起的 孕中期促甲状腺激素偏高是什么原因 重钢别墅靠谱吗 重刚别墅的致命缺点 重钢别墅的优点和缺点各是什么 积食可以吃什么 车子换了点火线圈,分缸线,火花塞以后车子打不着。这是什么原因 如何使用JAVA请求HTTPS 如何用JAVA实现HTTPS客户端 每次抖音点赞两个人都连续一起是什么情况 光明会全视之眼纹身的意义 财运得以好转、生活水涨船高的星座有哪些? 抖音直播双倍赞是为什么 抖音视频里的点赞一个人可以点多次吗? 法老的宠妃2 什么是上帝之眼(又称全知之眼)? 有什麽作用? 关于古埃及文字的疑问。 外包公司是干什么的? 现在是不是很多软件测试的公司都是外包的??外包... clps网络用什么线? 外包公司是什么啊?有哪些? 外包公司到底是干什么 ps,cl,ai的工作领域都是什么? 外包公司和一般的软件公司区别是什么? 怎样确定是不是外包公司? clps员工编号 学了平面设计PS和CL软件的出来做什么工作? java https 证书 java 实现https请求 JAVA怎样调用https类型的webservice 108键盘键帽位置 java后台程序怎么用https协议 用java调用https webservice,该怎么处理 https怎么用java进行访问 求一张电脑键盘按键分布图 java系统怎样配置一个接收https请求的web服务 电脑键盘按键分布图在哪里可以查看? JAVA 怎么实现HTTP的POST方式通讯,以及HTTPS方式传递 求力胜键盘键帽位置详图 如何配置Java HTTPS CA证书 java怎么调用https外部接口 电脑键盘各按键分布位置,及每个键的作用。(图文... java中怎么将http协议转成https协议 电脑上DOWN,和UP分别是哪个键盘 为什么高端键盘键帽都不透光 键盘的这些按键位置是怎么设计出来的? 如何在java中发起http和https请求 电脑键盘上的“无线图标键”是哪个?在键盘哪个位置?