当前位置:网站首页 > Java基础 > 正文

天气预报接口(天气预报接口java)



package juheAPI; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; / * 网络访问工具类 * @author silk * */ public class PureNetUtil { / * get方法直接调用post方法 * @param url 网络地址 * @return 返回网络数据 */ public static String get(String url){ return post(url,null); } / * 设定post方法获取网络资源,如果参数为null,实际上设定为get方法 * @param url 网络地址 * @param param 请求参数键值对 * @return 返回读取数据 */ public static String post(String url,Map param){ HttpURLConnection conn=null; try { URL u=new URL(url); conn=(HttpURLConnection) u.openConnection(); StringBuffer sb=null; if(param!=null){//如果请求参数不为空 sb=new StringBuffer(); /*A URL connection can be used for input and/or output. Set the DoOutput * flag to true if you intend to use the URL connection for output, * false if not. The default is false.*/ //默认为false,post方法需要写入参数,设定true conn.setDoOutput(true); //设定post方法,默认get conn.setRequestMethod("POST"); //获得输出 OutputStream out=conn.getOutputStream(); //对输出流封装成高级输出流 BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(out)); //将参数封装成键值对的形式 for(Map.Entry s:param.entrySet()){ sb.append(s.getKey()).append("=").append(s.getValue()).append("&"); } //将参数通过输出流写入 writer.write(sb.deleteCharAt(sb.toString().length()-1).toString()); writer.close();//一定要关闭,不然可能出现参数不全的错误 sb=null; } conn.connect();//建立连接 sb=new StringBuffer(); //获取连接状态码 int recode=conn.getResponseCode(); BufferedReader reader=null; if(recode==200){ //Returns an input stream that reads from this open connection //从连接中获取输入 InputStream in=conn.getInputStream(); //对输入流进行封装 reader=new BufferedReader(new InputStreamReader(in)); String str=null; sb=new StringBuffer(); //从输入流中读取数据 while((str=reader.readLine())!=null){ sb.append(str).append(System.getProperty("line.separator")); } //关闭输入流  reader.close(); if (sb.toString().length() == 0) { return null; } return sb.toString().substring(0, sb.toString().length() - System.getProperty("line.separator").length()); } } catch (Exception e) { e.printStackTrace(); return null; }finally{ if(conn!=null)//关闭连接  conn.disconnect(); } return null; } }
到此这篇天气预报接口(天气预报接口java)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • java调用dll动态库代码(java调用dll 参数传递)2025-09-05 08:54:08
  • list转String(list转string用逗号隔开java)2025-09-05 08:54:08
  • javaspring教程(javaspringmvc)2025-09-05 08:54:08
  • javaweb自学网站(如何自学javaweb)2025-09-05 08:54:08
  • 学java好的网站(学java看什么网课好)2025-09-05 08:54:08
  • 单向链表排序java(单向链表排序最低时间复杂度)2025-09-05 08:54:08
  • java课程网站(java课程收费网站)2025-09-05 08:54:08
  • javaspring教程 pdf(java教程pdf下载)2025-09-05 08:54:08
  • java spring入门(spring javafx)2025-09-05 08:54:08
  • java爬虫视频教程(java爬虫入门)2025-09-05 08:54:08
  • 全屏图片