IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> java http或者https 原生post和get请求 -> 正文阅读

[网络协议]java http或者https 原生post和get请求

package com.yf.exam.utils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.methods.RequestBuilder;
import org.apache.http.client.utils.HttpClientUtils;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.TrustStrategy;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.ssl.SSLContexts;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.net.ssl.SSLContext;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Objects;

/**
 Http和https原生请求,绕过https
 */
public class IdmApiClient {
    private static Logger LOGGER = LoggerFactory.getLogger(IdmApiClient.class);
  


    public static JSONObject executessss(RequestBuilder builder) {
        try {
            CloseableHttpClient client = buildHttpClient();
            HttpUriRequest request = builder.build();
            LOGGER.debug("请求接口:{}", request);
            CloseableHttpResponse response = client.execute(request);
            String result = EntityUtils.toString(response.getEntity());
            LOGGER.debug("接口响应:{}", result);
            HttpClientUtils.closeQuietly(response);
            HttpClientUtils.closeQuietly(client);
            return JSON.parseObject(result);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }


    private String buildSign(RequestBuilder builder) {
        String uri = StringUtils.substringAfter(builder.build().getURI().toString(), prefix);
        String content = "";
        String method = builder.getMethod();
        if (StringUtils.equals(method, "PUT") || StringUtils.equals(method, "POST")) {
            try {
                HttpEntity entity = builder.getEntity();
                if (Objects.nonNull(entity)) {
                    content = EntityUtils.toString(entity);
                }
            } catch (IOException ignored) {
            }
        }
        String text = StringUtils.join(new String[]{uri, content, privateKey}, "&");
        return DigestUtils.md5Hex(text);
    }

    private static CloseableHttpClient buildHttpClient() throws Exception {
        //忽略掉对服务器端证书的校验
        SSLContext sslcontext = SSLContexts.custom()
                .loadTrustMaterial((TrustStrategy) (chain, authType) -> true)
                .build();
        SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(
                sslcontext,
                new String[]{"TLSv1"},
                null,
                SSLConnectionSocketFactory.getDefaultHostnameVerifier());
        return HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory).build();
    }

}

 		 //get请求
        RequestBuilder builder = RequestBuilder.get("请求地址");
        JSONObject getJson = IdmApiClient.executessss(builder);
        System.out.println(getJson);

        // post json请求
        JSONObject object = new JSONObject();
        object.put("title", "通知消息");//消息标题
        RequestBuilder builders = RequestBuilder.post("请求地址").setEntity(new StringEntity(object.toString(), ContentType.APPLICATION_JSON));
        JSONObject postjson = IdmApiClient.executessss(builders);
        System.out.println(postjson);

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:36:22  更:2021-09-18 10:37:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:23:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码