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

java后端调用接口Basic auth认证

该方法接收一个JSON字符串参数phoneNum  内容:   {"phone":"13712312312"}
然后解析参数中的手机号,作为data去调用URL接口,接收接口返回的复合JSON并解析,拿到想要的数据public String queryUserResumeURLInfo(String phoneNum) {System.out.println("this is phoneNum: ======"+phoneNum);if(phoneNum.length() == 0){log.info("手机号为空!" );return null;}// 请求地址String url = "访问认证的URL";HttpHeaders headers = new HttpHeaders();String mediaType = MediaType.APPLICATION_JSON_VALUE;headers.setContentType(MediaType.parseMediaType(mediaType));headers.set("Accept", mediaType);
//        headers.set("Basic Auth", "uVJowCwUE08z2Hfw0aLXTZvZo66C19Rk");headers.set("Authorization", "Basic " + Base64.getUrlEncoder().encodeToString(("用户名" + ":" + "密码").getBytes()));Map<String, Object> map = new HashMap<>();//传递参数,这里解析了传进来的JSON类型的手机号,并作为参数传给调用的接口map.put("phone", phoneNum.substring(phoneNum.indexOf(":")+2,phoneNum.lastIndexOf("}")-1));JSONObject json = new JSONObject(map);//        System.out.println("this is json: ======"+json.toString());HttpMethod method = HttpMethod.POST;try {ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, json, JSONObject.class);if (result != null && result.getBody() != null) {log.info("返回结果:{}" ,result.getBody().toJSONString());JSONObject jsonObject = JSONObject.parseObject(result.getBody().toString());String resumeDataInfo =jsonObject.getJSONArray("data").getJSONObject(0).getJSONObject("basicInfo").getString("ehrCandidateExternalLink");
//               System.out.println("this is data:-------"+resumeDataInfo);return resumeDataInfo;} else {log.warn("查询失败,url={}",url);}}catch (Exception e){log.error("查询发生异常,url={}",url,e);}return null;}

其中fastJSON解析复杂JSON文本

java中fastJSON解析复合-CSDN博客

http://www.lryc.cn/news/199348.html

相关文章:

  • App爬虫之强大的Airtest的操作总结
  • MODBUS-TCP转MODBUS-RTU通信应用(S7-1200和串口服务器通信)
  • 开源贡献难吗?
  • seata的TCC模式分析
  • 常用linux命令【主要用于日志查询,目录切换】
  • Python学习基础笔记七十六——Python装饰器2
  • 生产环境解决用户登录问题的实践
  • 通讯协议学习之路:QSPI协议理论
  • pip安装修改镜像源
  • QCC51XX-QCC30XX系列开发教程(实战篇) 之 12.4-空间音频手机侧和耳机侧接口设计时序图
  • Mysql创建视图中文乱码修改docker里的配置
  • uniapp checkbox样式失效,选中框选中按钮不显示
  • 机器学习-最小二乘法
  • Linux文件管理与用户管理
  • java中什么是不可变类
  • 使用Perl和WWW::Mechanize库编写
  • 智荟雄安,创想未来 | 竹云董事长受邀出席雄安新区2023软件和信息技术服务业创新发展论坛并作主题演讲
  • 【设计模式-1】UML和设计原则
  • 【数据结构】——二叉树的基础知识
  • 日常bug汇总
  • C#使用PPT组件的CreateVideo方法生成视频
  • 数字化体系如何帮助企业拓展裂变增长渠道?数字化营销体系构建?
  • 关于vant 的tabbar功能
  • :style动态绑定,但只要页面发生变化就会执行一次方法
  • 文件的逻辑结构(顺序文件,索引文件)
  • suricata匹配从入门到精通(五)----二次开发保护规则库
  • 软件测试肖sir__python之ui自动化定位方法(2)
  • 【JVM面试题】JVM分代年龄为何是15次?能设置为16吗?
  • java三层架构/表现层-业务层-持久层
  • 视频监控这样做,简单又高效!