当前位置: 首页 > news >正文

asp.net mvc 网站开发之美 pdf北京网络推广公司排行

asp.net mvc 网站开发之美 pdf,北京网络推广公司排行,计算机网络技术毕业论文,站长工具推荐网站目录 一、引入依赖包二、okhttp方式实现的https请求工具类2.1、跳过证书配置类2.2、okhttp方式的 https工具类 三、测试类 一、引入依赖包 引入相关依赖包 <!--okhttp依赖包--> <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>…

目录

    • 一、引入依赖包
    • 二、okhttp方式实现的https请求工具类
      • 2.1、跳过证书配置类
      • 2.2、okhttp方式的 https工具类
    • 三、测试类

一、引入依赖包

  • 引入相关依赖包

    <!--okhttp依赖包-->
    <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.10.0</version>
    </dependency>
    <!--lombok用于简化实体类开发-->
    <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional>
    </dependency>
    

二、okhttp方式实现的https请求工具类

2.1、跳过证书配置类

  • 跳过证书配置类代码

    package com.xz.https;
    import okhttp3.OkHttpClient;import javax.net.ssl.SSLContext;
    import javax.net.ssl.SSLSocketFactory;
    import javax.net.ssl.TrustManager;
    import javax.net.ssl.X509TrustManager;
    import java.security.KeyManagementException;
    import java.security.NoSuchAlgorithmException;/*** @Description 跳过证书配置类* @author xz*/
    public class OKHttpClientBuilder {public static OkHttpClient.Builder buildOKHttpClient() {try {TrustManager[] trustAllCerts = buildTrustManagers();final SSLContext sslContext = SSLContext.getInstance("SSL");sslContext.init(null, trustAllCerts, new java.security.SecureRandom());final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();OkHttpClient.Builder builder = new OkHttpClient.Builder();builder.sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0]);builder.hostnameVerifier((hostname, session) -> true);return builder;} catch (NoSuchAlgorithmException | KeyManagementException e) {e.printStackTrace();return new OkHttpClient.Builder();}}private static TrustManager[] buildTrustManagers() {return new TrustManager[]{new X509TrustManager() {@Overridepublic void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) {}@Overridepublic void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) {}@Overridepublic java.security.cert.X509Certificate[] getAcceptedIssuers() {return new java.security.cert.X509Certificate[]{};}}};}
    }
    

2.2、okhttp方式的 https工具类

  • okhttp方式的 https工具类代码

    package com.xz.https;import lombok.extern.slf4j.Slf4j;
    import okhttp3.*;import java.io.IOException;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.Map;
    import java.util.concurrent.TimeUnit;/*** @Description okhttp方式的 https工具类* @author xz*/
    @Slf4j
    public class OkhttpsUtils {/*** 获取客户端链接*/private static OkHttpClient getClient() {OkHttpClient okHttpClient = OKHttpClientBuilder.buildOKHttpClient().connectTimeout(5000, TimeUnit.SECONDS).readTimeout(20000, TimeUnit.SECONDS).writeTimeout(20000, TimeUnit.SECONDS).build();return okHttpClient;}private static Request getRequest(String url, Map<String,String> header) throws MalformedURLException {Request.Builder builder = getBuilder(header);URL uri = new URL(url);return builder.url(uri).build();}private static Request.Builder getBuilder(Map<String,String> header) {Request.Builder builder = new Request.Builder();builder.addHeader("accept", "application/json").addHeader("connection", "Keep-Alive").addHeader("Content-Type", "application/json;charset=UTF-8");if(header != null && header.entrySet().size()>0){for(Map.Entry<String,String>  entry:header.entrySet()){builder.addHeader(entry.getKey(),entry.getValue());}}return builder;}/*** doGet请求*/public static String doGet(String url, String param, Map<String,String> header) {if (param != null) {url = url + "?" + param;}String result = null;try {OkHttpClient okHttpClient = getClient();Request request = getRequest(url,header);Response response = okHttpClient.newCall(request).execute();if (response.isSuccessful()) {ResponseBody body = response.body();if (body != null) {result = body.string();} else {throw new IOException("response body is null");}} else {response.close();}} catch (IOException e) {log.error("GET请求异常,url = {}", url, e);}return result;}/*** doPost请求*/public static String doPost(String url, String param,Map<String,String> header) {OkHttpClient okHttpClient = getClient();Request.Builder builder = getBuilder(header);String result = null;try {RequestBody requestBody = RequestBody.create(param.getBytes("UTF-8"),MediaType.parse(org.springframework.http.MediaType.APPLICATION_JSON_UTF8_VALUE));builder.post(requestBody);Request request = builder.url(url).build();Response response = okHttpClient.newCall(request).execute();if (response.isSuccessful()) {ResponseBody body = response.body();if (body != null) {result = body.string();} else {throw new IOException("response body is null");}} else {response.close();}} catch (Exception e) {log.error("POST请求异常,url = {}", url, e);}return result;}/*** doDelete请求*/public static String doDelete(String url, String param,Map<String,String> header) {OkHttpClient okHttpClient = getClient();Request.Builder builder = getBuilder(header);String result = null;try {if (param != null) {RequestBody requestBody = RequestBody.create(param.getBytes("UTF-8"),MediaType.parse(org.springframework.http.MediaType.APPLICATION_JSON_UTF8_VALUE));builder.delete(requestBody);} else {builder.delete();}Request request = builder.url(url).build();Response response = okHttpClient.newCall(request).execute();if (response.isSuccessful()) {ResponseBody body = response.body();if (body != null) {result = body.string();} else {throw new IOException("response body is null");}} else {response.close();}} catch (Exception e) {log.error("DELETE请求异常,url = {}", url, e);}return result;}/*** doPut请求*/public static String doPut(String url, String param,Map<String,String> header) {OkHttpClient okHttpClient = getClient();Request.Builder builder = getBuilder(header);String result = null;try {RequestBody requestBody = RequestBody.create(param.getBytes("UTF-8"),MediaType.parse(org.springframework.http.MediaType.APPLICATION_JSON_UTF8_VALUE));builder.put(requestBody);Request request = builder.url(url).build();Response response = okHttpClient.newCall(request).execute();if (response.isSuccessful()) {ResponseBody body = response.body();if (body != null) {result = body.string();} else {throw new IOException("response body is null");}} else {response.close();}} catch (Exception e) {log.error("PUT请求异常,url = {}", url, e);}return result;}}

三、测试类

  • 测试代码

    package com.xz.https;import com.alibaba.fastjson.JSONObject;/*** @author: xz* @since: 2024/1/11 22:07* @description:*/
    public class HttpsUtilsTest {public static void main(String[] args) throws Exception {String url="https://xxx.com.cn:5678/gateway/user/service/getxxxx";UserReq userReq = new UserReq ();userReq .setName("张三");String result = OkhttpsUtils.doPost(url, JSONObject.toJSONString(accessTokenReq), null);System.out.println("Okhttps---https请求:"+result);}
    }
    
  • 测试输出结果

    在这里插入图片描述

http://www.shuangfujiaoyu.com/news/62181.html

相关文章:

  • 企业网站建设管理平台百度网盘资源免费搜索引擎入口
  • 如何对django网站做测试合肥网络seo
  • 做网站的书籍深圳做网站公司哪家好
  • 广告公司网站源码下载泰州seo网络公司
  • 那个公司做网站关于搜索引擎的搜索技巧
  • 怎么做二维码直接进入网站东莞网站公司
  • html怎么做商品页面班级优化大师下载安装
  • 宜昌网站建设哪家好浅议网络营销论文
  • 做网站开发前景如何sem和seo区别与联系
  • 找人做的服务器1核2g网站打开速度蛮色盲悖论
  • 百度搜索不到任何网站西安关键词推广
  • 一元夺宝网站制作视频上海专业网络推广公司
  • 网站开发建设流程百度指数人群画像怎么看
  • 黄冈网站建设优化排名推广网站要注意什么
  • 我的世界外国做图网站搜索引擎yandex入口
  • 网站建设行业 前景重庆网站seo外包
  • 遵义网站建设服务正规seo大概多少钱
  • 企业微信开发郑州推广优化公司
  • 网站的联系我们怎么做桔子seo网
  • 做网站二级域名随便用吗广州新闻发布
  • 网站设计理论宁波seo营销平台
  • 厦门市同安区建设局公开网站百度关键词优化点击 教程
  • 如何做动态网站优秀营销软文范例100字
  • wordpress安装网站无法郑州短视频代运营
  • 网站建设找什么公司怎么样推广自己的公司
  • seo优化工具使用教程杭州小周seo
  • 网站开发哈尔滨网站开发公司电话百度收录工具
  • wordpress新闻发布seo和点击付费的区别
  • 怎么查看网站域名百度推广网站一年多少钱
  • flask做的网站如何上传文件成人用品推广网页