Java获取http和https协议返回的json数据
本作品内容为Java获取http和https协议返回的json数据,格式为 docx ,大小 10007 KB ,页数为 7页
('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包,请自行下载,如果找不到,请给我留言,还有,程序是死的,人是活的,怎么方便怎么来',)
提供Java获取http和https协议返回的json数据会员下载,编号:1700665487,格式为 docx,文件大小为7页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。