基于Spring Boot + HttpClient框架的数据一致性校验

 

4月23

 

4月22

token鉴权的2种方式,参考博客

Http请求Authorization认证:传Authorization时选择Basic Auth 填写用户名 密码。此次header不需要填写token、X-Auth-Token,需要填写Project

token登录:header需要填写token、X-Auth-Token、Project。当然必不可少的Content-Type:application/json、Accept:application/json

https://blog.csdn.net/weixin_36260016/article/details/114089891

https://blog.iprac.cn/blogs/55.html

String encoding = DatatypeConverter.printBase64Binary("username:passwd".getBytes("UTF-8"));  //username  password 自行修改  中间":"不可少
getMethod.addRequestHeader(new Header("Authorization", "Basic " + encoding));

 

基于Spring Boot + HttpClient框架的数据一致性校验

基于Spring Boot + HttpClient框架的数据一致性校验

 

HTTP Header 详解 -Requests部分

Header 解释 示例
Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html
Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5
Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding: compress, gzip
Authorization HTTP授权的授权证书 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。 Cookie: $Version=1; Skin=new;
Content-Length 请求的内容长度 Content-Length: 348
Content-Type 请求的与实体对应的MIME信息 Content-Type: application/x-www-form-urlencoded
Expect 请求的特定的服务器行为 Expect: 100-continue
From 发出请求的用户的Email From: user@email.com
Host 指定请求的服务器的域名和端口号 Host: www.zcmhi.com

4月21

接口运行结果代码乱码


a���[��
�8N���]��3�K�Eʸe�����a�;(�ĕͱ:9���JUeg�zw^
�\ϵu`:�G�ǏK�1r�<]�4�F'n� ��a��8���/�������-����?��    ��UV
a���[��
�8N���]��3�K�Eʸe�����a�;(�ĕͱ:9���JUeg�zw^
�\ϵu`:�G�ǏK�1r�<]�4�F'n� ��a��8���/�������-����?��    ��UV四月 21, 2021 8:19:03 下午 org.apache.commons.httpclient.HttpMethodBase getResponseBody
a���[��
�8N���]��3�K�Eʸe�����a�;(�ĕͱ:9���JUeg�zw^
�\ϵu`:�G�ǏK�1r�<]�4�F'n� ��a��8���/�������-����?��    ��UV

基于Spring Boot + HttpClient框架的数据一致性校验

http协议,就协议本身而言,是一种文本协议。文本协议可读性比较好,但是协议所占的字节较多。目前http服务端响应普遍是json格式。其实是文本格式都行的。xml也算

java栈会接触较多的xml。而且xml的表达性更强,尤其针对字符类型

请求里的Header,Accept为标识返回协议json/xml的参数。在浏览器抓到的请求为xml但是自动化要改为Accept: application/json

长连接的保活机制:  https://blog.csdn.net/qq_22642239/article/details/109024544

基于Spring Boot + HttpClient框架的数据一致性校验

基于Spring Boot + HttpClient框架的数据一致性校验

 

解决办法:json xml反序列化转换、把xml转化为json格式

postman 浏览器之所以支持xml转json是因为工具本身支持 自动化的话需要自己封装框架

参考 Quickest way to convert XML to JSON in Java 

 https://*.com/questions/1823264/quickest-way-to-convert-xml-to-json-in-java

  • 先接收接口的原始格式响应,也就是xml格式响应
  • 将xml 转为java 的对象数据类型,需要下载jar包
  • 如果还需要转换成json对象的话,再序列化一下即可,序列化也有jar包

导入的maven配置

<!--4月23新增把xml转化为json格式-->
<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20180813</version>
</dependency>

 

import org.json.JSONObject;
import org.json.XML;
import org.json.JSONException;

public class Main {

    public static int PRETTY_PRINT_INDENT_FACTOR = 4;
    public static String TEST_XML_STRING =
        "<?xml version=\"1.0\" ?><test attrib=\"moretest\">Turn this to JSON</test>";

    public static void main(String[] args) {
        try {
            JSONObject xmlJSONObj = XML.toJSONObject(TEST_XML_STRING);
            String jsonPrettyPrintString = xmlJSONObj.toString(PRETTY_PRINT_INDENT_FACTOR);
            System.out.println(jsonPrettyPrintString);
        } catch (JSONException je) {
            System.out.println(je.toString());
        }
    }
}
上一篇:python搜索关键词自动提交


下一篇:JavaWeb之HTTP