• 天气接口,空气质量接口


    1、空气质量接口

      

    /**
         * 天气查询
         * place查询地址
         * @return
         */
        @ResponseBody
        @RequestMapping(value = "/selWeather", method = RequestMethod.POST)
        public Map<String,Object> selWeather(String cityName){
            Map<String, Object> memory = new HashMap<String, Object>();
            String result =null;
            String url ="http://web.juhe.cn:8080/environment/air/cityair";//请求接口地址
            Map params = new HashMap();//请求参数
            params.put("city",cityName);//城市名称的中文名称或拼音,如:上海 或 shanghai
            params.put("key",APPKEY);//APP Key
            try {
                result = PureNetUtil.net(url, params, "GET");
                JSONObject object = JSONObject.fromObject(result);
                if(object.getInt("error_code")==0){
    //                System.out.println(object.get("result"));
                    memory.put("result",object.get("result"));
                }else{
    //                System.out.println(object.get("error_code")+":"+object.get("reason"));
                    memory.put("result",object.get("error_code")+":"+object.get("reason"));
                }
                return memory;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return memory;
        }

    2、天气查询接口

      接口地址:https://www.sojson.com/open/api/weather/json.shtml?city=%s 

     @ResponseBody
        @RequestMapping(value = "/selWeather1", method = RequestMethod.POST)
        public String selWeather1(@RequestParam(value = "cityName",required = true) String cn){
            try{
                //参数url化
                String city = URLEncoder.encode("上海", "utf-8");
                //拼地址
                String apiUrl = String.format("https://www.sojson.com/open/api/weather/json.shtml?city=%s",city);
                //开始请求
                URL url= new URL(apiUrl);
                URLConnection open = url.openConnection();
                InputStream input = open.getInputStream();
                //这里转换为String
                String result = IOUtils.toString(input,"utf-8");
                System.out.println(result);
                return result;
            }catch (Exception e){
                e.printStackTrace();
            }
            return "";
        }

    在js中--ajax

    /*********************************天气查询 start************************/
    function findWeather() {
            $.ajax({
                url:"../../u-route/index/selWeather1.do",
                type:"post",
                async:false,
                data:{"cityName":"上海"},
                success:function(data){
                    console.log(JSON.parse(data));
                    var jsonData = JSON.parse(data);
                    if(jsonData.status=="200"){
                        var dataMsg = jsonData.data.forecast[0];
                        var lowMsg = dataMsg.low;
                        var low = lowMsg.substring(lowMsg.lastIndexOf(" "),lowMsg.length);
                        var highMsg = dataMsg.high;
                        var high = highMsg.substring(highMsg.lastIndexOf(" "),highMsg.length);
                        $("#weaWenDu").html(low + "~" + high);
                        $("#weaImg").html(dataMsg.type);
                        $("#weaCity").html("上海");
                        $("#weaWind").html(dataMsg.fx+",");
                    }
                }
            })
            $.ajax({
                url:"../../u-route/index/selWeather.do",
                type:"post",
                async:false,
                data:{"cityName":"上海"},
                success:function(data){
                    var quality = data.result[0].citynow.quality;
                    $("#weaAir").html("空气质量:"+quality);
                }
            })
    }
    /**********************************天气查询 end*************************/

     4、天气接口 https 获取ssl

    @RequestMapping(value = "/selWeather1", method = RequestMethod.POST)
        public String selWeather1(@RequestParam(value = "cityName",required = true) String cn,String outputStr){
            try{
                //创建SSLContext
                SSLContext sslContext=SSLContext.getInstance("SSL");
                TrustManager[] tm={new MyX509TrustManager()};
                //初始化
                sslContext.init(null, tm, new java.security.SecureRandom());;
                //获取SSLSocketFactory对象
                SSLSocketFactory ssf=sslContext.getSocketFactory();
                //参数url化
                String city = URLEncoder.encode(cn, "utf-8");
                //拼地址                       https://www.sojson.com/open/api/weather/json.shtml?city=%s
                String apiUrl = String.format("https://www.sojson.com/open/api/weather/json.shtml?city=%s",city);
                URL url=new URL(apiUrl);
                HttpsURLConnection conn=(HttpsURLConnection)url.openConnection();
                conn.setDoOutput(true);
                conn.setDoInput(true);
                conn.setUseCaches(false);
                conn.setRequestMethod("GET");
                //设置当前实例使用的SSLSoctetFactory
                conn.setSSLSocketFactory(ssf);
                conn.connect();
                //往服务器端写内容
                if(null!=outputStr){
                    OutputStream os=conn.getOutputStream();
                    os.write(outputStr.getBytes("utf-8"));
                    os.close();
                }
                //读取服务器端返回的内容
                InputStream is=conn.getInputStream();
                String result = IOUtils.toString(is,"utf-8");
                return result;
            }catch(Exception e){
                e.printStackTrace();
            }
            return "";
        }
  • 相关阅读:
    运行一个内核模块
    ubuntu下解析udt数据包
    在脚本中使用export导出变量值
    安卓手机已保存WiFi密码查看助手(开源)
    hashmap先按照value从大到小排序,value相等时按照key从小到大排序
    python画柱状图并且输出到html文件
    匀速圆周运动向心加速度推导
    简单证明圆锥体积为三分之一圆柱
    排列组合的一些公式及推导(非常详细易懂)
    相同字符串问题_题解
  • 原文地址:https://www.cnblogs.com/zhou-pan/p/8692700.html
Copyright © 2020-2023  润新知