HttpURLConnection

           String listPolicyApiUrl = "请求的api地址";Map map = new HashMap();map.put("chanelCode",channelId);map.put("IsInsureArray",1);//1需要 0 不需要map.put("appId",APPID);//请求参数装换成jasn格式字符串String body = JSONObject.toJSONString(map);OutputStreamWriter out = null;BufferedReader br = null;String result = "";URL url = new URL(listPolicyApiUrl);HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//            String sign = Md5Utils.getMD5String(body+APPKey);//请求方式conn.setRequestMethod("POST");//设置通用的请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");//可在请求头添加额外请验证秘钥conn.setRequestProperty("eliteSign",sign);//DoOutput设置是否向httpUrlConnection输出,DoInput设置是否从httpUrlConnection读入,此外发送post请求必须设置这两个conn.setDoOutput(true);conn.setDoInput(true);//获取URLConnection对象对应的输出流out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");//发送请求参数即数据out.write(body);//flush输出流的缓冲out.flush();/*** 下面的代码相当于,获取调用第三方http接口后返回的结果*///获取URLConnection对象对应的输入流InputStream is = conn.getInputStream();//构造一个字符流缓存br = new BufferedReader(new InputStreamReader(is));String str = "";while ((str = br.readLine()) != null){result += str;}System.out.println("结果");System.out.println(result);//关闭流is.close();//断开连接,conn.disconnect();

HttpClient

            //创建HttpClient对象CloseableHttpClient httpClient = HttpClients.createDefault();//创建get请求HttpPost httpPost = new HttpPost(listPolicyApiUrl);//设置请求头  比如一些需要登录验证的接口,就需要设置请求头和请求头的值  "username:password"登陆验证的密码JSONObject jsonParam = new JSONObject();jsonParam.put("appId", 2);jsonParam.put("IsInsureArray", 1);jsonParam.put("chanelCode", 3);httpPost.setHeader("eliteSign", sign);httpPost.setHeader("Content-type", "application/json;charset=utf-8");StringEntity s = new StringEntity(body, "utf-8");s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
//            //设置参数加到请求对象中httpPost.setEntity(s);//执行HttpResponse response = httpClient.execute(httpPost);//获取状态码int responseCode = response.getStatusLine().getStatusCode();if (responseCode == 200) {//获取请求体HttpEntity entity = response.getEntity();//获取请求体的内容//通过流的方式进行读取InputStream input = entity.getContent();BufferedReader br = new BufferedReader(new InputStreamReader(input));String str1 = br.readLine();//获取到返回的json字符串String result = new String(str1.getBytes("utf-8"), "utf-8");System.out.println(result);br.close();input.close();}

java 第三方HTTP请求的调用相关推荐

  1. java第三方接口对接_调用多个第三方接口哪一种方案更好?

    目的 用户在下单的时候,会调用我们的后台服务器,我们的后台服务器又会根据不同渠道调用第三方下单接口,完成整个下单流程,但是第三方下单接口可能突然出问题或者不支持,所以目前我们每一种渠道都配置了好几种备 ...

  2. 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装...

    微信服务器和第三方服务器之间究竟是通过什么方式进行对话的? 下面,我们先看下图: 其实我们可以简单的理解: (1)首先,用户向微信服务器发送消息: (2)微信服务器接收到用户的消息处理之后,通过开发者 ...

  3. ajax调用第三方web服务,js调用soapWebService服务

    js调用soapWebService服务 什么是 SOAP? SOAP 指简易对象访问协议 SOAP 是一种通信协议 SOAP 用于应用程序之间的通信 SOAP 是一种用于发送消息的格式 SOAP 被 ...

  4. Java第三方登录(QQ,微博,微信)

    第三方登录_新浪微博 1.   在微博开发平台,注册开发者用户并填写相关信息和创建应用信息,等待审核通过,然后进行下一步编码操作http://open.weibo.com/,具体操作可在微博开发平台观 ...

  5. 外汇汇率接口 java_基于JAVA的货币汇率api调用代码实例

    代码描述:基于JAVA的货币汇率api调用代码实例 关联数据:货币汇率 接口地址:http://www.juhe.cn/docs/api/id/23 1.[代码][Java]代码 import jav ...

  6. java exe 返回值_java调用exe返回值

    {// getAccount 方法,使用 get 方法; return accounts.get(index); } } Bank .java: package com.mybank.domain; ...

  7. Java 实现 HTTP 请求的三种方式

    除了本文推荐的几种方式,强烈推荐 OkHttp 目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现.HTTPClient对HTTP的封装性比较 ...

  8. JAVA与.NET的相互调用——通过Web服务实现相互调用

    JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方.而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发.而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候 ...

  9. java forward 修改请求参数_聊聊springboot session timeout参数设置

    序 本文主要介绍下spring boot中对session timeout参数值的设置过程. ServerProperties spring-boot-autoconfigure-1.5.8.RELE ...

最新文章

  1. bash: go: 未找到命令_【安全入门】centos7java/python/go语言环境安装
  2. 赛森机器人_对比评测3款最贵的扫地机器人,戴森性能太强了
  3. ruby on rails Mac 安装
  4. 有关于近期大量数据库暴光的分析
  5. 深度强化学习落地指南:弥合DRL算法原理和落地实践之间的断层 | 文末送书
  6. spark-2.4.5-bin-2.6.0-cdh5.15.1环境搭建:Local模式和StandAlone
  7. 距离高考出成绩,一年了、、、
  8. Wireshark 抓包
  9. 【王牌选手分享】一发问鼎!鹅厂大神上分思路,助你玩转初赛!
  10. AngularJs中,如何在render完成之后,执行Js脚本
  11. 素数筛法求素数(线性时间)
  12. api 文件长度_上传下载API
  13. 查看linux操作系统版本信息
  14. 从小白创建自己的CSND
  15. bootdo跳sign in页面
  16. 简要罗列通过Allegro绘制的PCB封装步骤
  17. Word如何转换成PDF格式
  18. zyf sql语句
  19. QT学习笔记(六)——①进度条可拖动、点击②有暂停按钮 的视频播放器
  20. SLAM前端之ndt_omp使用

热门文章

  1. IT工作者如何避免工作中的焦虑
  2. mysql 视图存在,但查询时报视图不存在
  3. windows Certutil工具
  4. java elgamal_ElGamal体制
  5. rust如何在木板上上传图片_RUST腐蚀的佛系与道系 看看你是个啥?
  6. 类似KTV扫码控制点歌台的实现思路
  7. 个体工商户企业名称为空怎么申请微信小程序?
  8. .env.development(开发环境)、.env.prodction(正式环境)、自定义环境
  9. react高阶组件 事例 源码
  10. 大家好!欢迎加入QQ技术交流群。