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 +json 通讯 -> 正文阅读

[网络协议]java Http +json 通讯

json的封装以及json的解析

        //Map 转 json
        Map<String,Object> jsonMap = new HashMap<>();
        jsonMap.put("username","zhangsan");
        jsonMap.put("pwd","123");
        String contentString = JSONObject.toJSONString(jsonMap);
        //System.out.println(contentString); // {"pwd":"123","username":"zhangsan"}
        
        //解析json Map字符串转为json
        JSONObject jsonObject = JSONObject.parseObject(contentString);
        String username = jsonObject.getString("username");
        String pwd = jsonObject.getString("pwd");
        System.out.println(username);
        System.out.println(pwd);

客户端发送POST请求

工具类

import com.alibaba.fastjson.JSONObject;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;

public class HttpClientJson {
    public static String post(JSONObject jsonObject, String urls, String encode){
        StringBuffer stringBuffer = new StringBuffer();  
        try{
            //建立URL资源
            URL url = new URL(urls);
            //建立HTTP连接
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            //设置允许输入
            conn.setDoInput(true);
            //设置允许输出
            conn.setDoOutput(true);
            //设置不用缓存 conn.setUseCaches(false);
            //设置传递方式
            conn.setRequestMethod("POST");
            //设置维持长连接
            conn.setRequestProperty("Connection","Keep-Alive");
            //设置文件字符集
            conn.setRequestProperty("Charset","utf-8");
            //将发送参数转换为字节数组
            byte[] data = jsonObject.toString().getBytes(StandardCharsets.UTF_8);
            //设置文件类型
            conn.setRequestProperty("Content-Type","application/json;charset=utf-8");
            //设置连接超时
            conn.setConnectTimeout(10000);
            conn.setReadTimeout(60*1000*2);
            
            //开始连接请求
            conn.connect();
            OutputStream out = new DataOutputStream(conn.getOutputStream());
            //写入请求的字符串
            out.write(data);
            out.flush();
            out.close();
            
            //请求返回的状态
            if (conn.getResponseCode() == HttpURLConnection.HTTP_OK){
                System.out.println("连接成功");
                //请求返回的数据
                InputStream in = conn.getInputStream();
                try{
                    String readline = new String();
                    BufferedReader responseReader = new BufferedReader(new InputStreamReader(in,"utf-8"));
                    while ((readline=responseReader.readLine())!=null){
                        stringBuffer.append(readline);
                    }
                    responseReader.close();
                    System.out.println(stringBuffer.toString());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }else {
                System.out.println("error="+conn.getResponseCode());
            }
            
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}

测试

        String url = "";
        //定义Map
        Map<String,Object> jsonMap = new HashMap<>();
        jsonMap.put("username","zhangsan");
        jsonMap.put("pwd","123");
        //把map转换为字符串
        String contentString = JSONObject.toJSONString(jsonMap);
        System.out.println(contentString);
        //Map字符串转为jsonObject
        JSONObject jsonObject = JSONObject.parseObject(contentString);
        //发送POST请求
        String requestBody = HttpClientJson.post(jsonObject,url);
        System.out.println("返回内容"+requestBody);
        //解析返回体
        JSONObject requestJSON = JSONObject.parseObject(requestBody);
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:22:35  更:2022-01-14 02:25:05 
 
开发: 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 12:50:38-

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