Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 合同模板 > Java获取http和https协议返回的json数据

Java获取http和https协议返回的json数据

收藏

本作品内容为Java获取http和https协议返回的json数据,格式为 docx ,大小 10007 KB ,页数为 7页

Java获取http和https协议返回的json数据


('Java获取http和https协议返回的json数据现在很多公司都是将数据返回一个json,而且很多第三方接口都是返回json数据,而且还需要使用到http协议,http协议是属于为加密的协议,而https协议需要SSL证书,https是将用户返回的信息加密处理,然而我们要获取这些数据,就需要引入SSL证书。现在我提供两个方法,帮助各位如何获取http和https返回的数据。获取http协议的数据的方法,如下:publicstaticJSONObjecthttpRequest(StringrequestUrl,StringrequestMethod){JSONObjectjsonObject=null;StringBufferbuffer=newStringBuffer();try{URLurl=newURL(requestUrl);//http协议传输HttpURLConnectionhttpUrlConn=(HttpURLConnection)url.openConnection();httpUrlConn.setDoOutput(true);httpUrlConn.setDoInput(true);httpUrlConn.setUseCaches(false);//设置请求方式(GET/POST)httpUrlConn.setRequestMethod(requestMethod);if("GET".equalsIgnoreCase(requestMethod))httpUrlConn.connect();//将返回的输入流转换成字符串InputStreaminputStream=httpUrlConn.getInputStream();InputStreamReaderinputStreamReader=newInputStreamReader(inputStream,"utf-8");BufferedReaderbufferedReader=newBufferedReader(inputStreamReader);Stringstr=null;while((str=bufferedReader.readLine())!=null){buffer.append(str);}bufferedReader.close();inputStreamReader.close();//释放资源inputStream.close();inputStream=null;httpUrlConn.disconnect();jsonObject=JSONObject.fromObject(buffer.toString());}catch(Exceptione){e.printStackTrace();}returnjsonObject;}获取https协议的数据的方法,如下:publicstaticJSONObjecthttpsRequest(StringrequestUrl,StringrequestMethod,StringoutputStr){JSONObjectjsonObject=null;StringBufferbuffer=newStringBuffer();try{//创建SSLContext对象,并使用我们指定的信任管理器初始化TrustManager[]tm={newMyX509TrustManager()};SSLContextsslContext=SSLContext.getInstance("SSL","SunJSSE");sslContext.init(null,tm,newjava.security.SecureRandom());//从上述SSLContext对象中得到SSLSocketFactory对象SSLSocketFactoryssf=sslContext.getSocketFactory();URLurlURL(requestUrl);HttpsURLConnectionhttpUrlConn=(HttpsURLConnection)url.openConnection();httpUrlConn.setSSLSocketFactory(ssf);httpUrlConn.setDoOutput(true);httpUrlConn.setDoInput(true);httpUrlConn.setUseCaches(false);//设置请求方式(GET/POST)httpUrlConn.setRequestMethod(requestMethod);if("GET".equalsIgnoreCase(requestMethod))httpUrlConn.connect();当有数据需要提交时if(null!=outputStr){OutputStreamoutputStream=httpUrlConn.getOutputStream();//注意编码格式,防止中文乱码outputStream.write(outputStr.getBytes("UTF-8"));outputStream.close();new////将返回的输入流转换成字符InputStreaminputStream=httpUrlConn.getInputStream();InputStreamReaderinputStreamReader=newInputStreamReader(inputStream,"utf-8");BufferedReaderbufferedReader=newBufferedReader(inputStreamReader);Stringstr=null;while((str=bufferedReader.readLine())!=null){buffer.append(str);}bufferedReader.close();inputStreamReader.close();//释放资源inputStream.close();inputStream=null;httpUrlConn.disconnect();jsonObject=JSONObject.fromObject(buffer.toString());}catch(ConnectExceptionce){log.error("Weixinserverconnectiontimedout.");}catch(Exceptione){log.error("httpsrequesterror:{}",e);}returnjsonObject;}获取https协议的数据和获取http协议的区别在于//创建SSLContext对象,并使用我们指定的信任管理器初始化TrustManager[]tm={newMyX509TrustManager()};SSLContextsslContext=SSLContext.getInstance("SSL","SunJSSE");sslContext.init(null,tm,newjava.security.SecureRandom());//从上述SSLContext对象中得到SSLSocketFactory对象SSLSocketFactoryssf=sslContext.getSocketFactory();URLurl=newURL(requestUrl);HttpsURLConnectionhttpUrlConn=(HttpsURLConnection)url.openConnection();httpUrlConn.setSSLSocketFactory(ssf);大家有更好的方法欢迎留言分享,以上就是本次共享的内容。还有,提示一下,如果复制中,缺失jar包,请自行下载,如果找不到,请给我留言,还有,程序是死的,人是活的,怎么方便怎么来',)


  • 编号:1700665487
  • 分类:合同模板
  • 软件: wps,office word
  • 大小:7页
  • 格式:docx
  • 风格:商务
  • PPT页数:10007 KB
  • 标签:

广告位推荐

相关合同模板更多>