调用天气预报接口

方案一:

浏览器由于安全的限制,不允许跨域访问。但是PHP服务器是允许的。我们可以通过使用PHP文件做代理,通过PHP来调用接口。

详细接口分析可参看:http://www.cnblogs.com/wangjingblogs/p/3192953.html

返回JSON格式

PHP代码

<?php 

//此接口返回json格式
echo file_get_contents(‘http://www.weather.com.cn/data/cityinfo/101181601.html‘);

 ?>

HTML代码

<!DOCTYPE html>
<html>
<head>
    <title>调用天气预报接口</title>
</head>
<body>
<script type="text/javascript">
window.onload = function () {
    //创建XMLHttpRequest对象
    var xmlHttp = new XMLHttpRequest();
    //创建连接
    xmlHttp.open(‘get‘,‘./getWeather.php‘);
    //判断准备状态及状态码
    xmlHttp.onreadystatechange = function(){

        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
            //把后台传来的字符串类型的数据信息转换成对象
            eval(‘var info =‘+ xmlHttp.responseText);
            //把weatherinfo对象中的数据存放到info中
            info = info.weatherinfo;
            console.log(info);

            //拼接字符串
            var str = ‘‘;
            str += ‘城市:‘+info.city+‘<br>‘;
            str += ‘城市编号:‘+info.cityid+‘<br>‘;
            str += ‘温度:‘+info.temp1+‘~‘+info.temp2+‘<br>‘;
            str += ‘天气:‘+info.weather+‘<br>‘;
            str += ‘发布时间:‘+info.ptime+‘<br>‘;

            //把数据输出到浏览器
            document.getElementById(‘weather‘).innerHTML = str;

        }
    }

    //发送连接
    xmlHttp.send(null);
}
</script>

<div id="weather">
    <!-- 此处显示天气预报 -->
</div>
</body>
</html>

方案二:

为天气预报接口,可直接将以上代码放到项目中直接使用!
<iframe name=\"weather_inc\" src=\"http:\/\/i.tianqi.com\/index.php?c=code&id=1\" width=\"330\" height=\"35\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>
完整代码:
<!DOCTYPE html>
<html>
<head>
    <title>调用天气预报接口</title>
</head>
<script type="text/javascript">
    document.writeln("<iframe name=\"weather_inc\" src=\"http:\/\/i.tianqi.com\/index.php?c=code&id=1\" width=\"330\" height=\"35\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>");
</script>
<body>
<!-- 天气预报接口 -->
<iframe width="420" scrolling="no" height="60" frameborder="0" allowtransparency="true" src="http://i.tianqi.com/index.php?c=code&id=17&icon=1&num=3"></iframe>

</body>
</html>

另外,还有一些网站提供了免费的接口调用,很方便,可自定义天气预报样式并生成相应的代码,放在项目中即可直接使用

http://www.tianqi.com/plugin/

http://www.cnblogs.com/wangjingblogs/p/3192953.html

时间: 2024-12-03 08:44:51

调用天气预报接口的相关文章

关于Silverlight调用天气预报接口问题

问题:因Silverlight客户端不能直接调用webservice接口(外网天气接口),调用会出现跨域访问的问题,即使添加了跨域文件也不好使.解决方法如下 解决方法一:1.在服务端建立一个wcf服务端,在wcf里调用webservice接口(外网天气接口) wcf服务接口IWeatherService.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Runtim

webservice通信调用天气预报接口实例

转载:http://www.cnblogs.com/warrior4236/p/5668449.html 一:环境搭建 1:新建一个java project工程weatherInf 2:引入相应的jar包 activation.jaraxis-ant.jaraxis.jarcommons-discovery-0.2.jarcommons-logging-1.0.4.jarjaxrpc.jarlog4j-1.2.8.jarmail.jarsaaj.jarwsdl4j-1.5.1.jar 下载axi

项目中调用天气预报接口

项目中使用的是心知天气的API,下面我就简单总结一下使用的过程: 1. 在心知天气官网注册一个个人账号,这样就会产生一个API秘钥和一个用户ID,用户ID用于签名验证方式.签名指的是通过HMAC-SHA1,对请求参数加密后得到的签名字串进行身份验证,避免了将API密钥明文包含在请求中而造成泄露. 2. 关于签名生成方式如下: (1)构造验证参数字符串 将请求参数按照参数名字典升序排列后,把所有参数param=value用&连接起来,类似URI中Query string的构造方式.目前支持的参数有

C#调用国家气象局天气预报接口

原文:C#调用国家气象局天气预报接口 一.需求 最近,刚好项目中有天气预报查询功能的需求,要求录入城市名称,获取该城市今日天气信息及相关气象生活辅助信息等. 例如:查询北京市天气 结果为: 今日北京天气:15℃~5℃ 阵雨转阴,北风3-4级,天气冷,建议着棉服.羽绒服.皮夹克加羊毛衫等冬季服装.年老体弱者宜着厚棉衣.冬大衣 或厚羽绒服. 洗车指数:不宜.紫外线指数:最弱.晨练指数:较不宜.舒适指数:较舒适. 还好,国家气象局提供相关接口,再此表示感谢,虽然个人觉得该api设计思路有待提高,但是相

【转载】C#调用国家气象局天气预报接口

一.需求 最近,刚好项目中有天气预报查询功能的需求,要求录入城市名称,获取该城市今日天气信息及相关气象生活辅助信息等. 例如:查询北京市天气 结果为: 今日北京天气:15℃~5℃ 阵雨转阴,北风3-4级,天气冷,建议着棉服.羽绒服.皮夹克加羊毛衫等冬季服装.年老体弱者宜着厚棉衣.冬大衣 或厚羽绒服. 洗车指数:不宜.紫外线指数:最弱.晨练指数:较不宜.舒适指数:较舒适. 还好,国家气象局提供相关接口,再此表示感谢,虽然个人觉得该api设计思路有待提高,但是相比于其他部委[如交通部]来说,气象局这

PHP调用API接口实现天气查询功能

天气预报查询接口API,在这里我使用的是国家气象局天气预报接口 使用较多的还有:新浪天气预报接口.百度天气预报接口.google天气接口.Yahoo天气接口等等. 1.查询方式 根据地名查询各城市天气情况 2.请求URL地址http://route.showapi.com/9-2 3.接口参数说明: 一.系统级参数(所有接入点都需要的参数): 二.应用级参数(每个接入点有自己的参数): 4.返回参数 以JSON格式返回结果 1)系统级参数(所有接入点都会返回的参数) 2)应用级参数(系统级输出参

【黑马Android】(14)webservice概念/调用/wsdl接口

webservice 的概念 webservice 就是一个应用程序,它提供一种通过web方式访问的api. 解决两个系统或者(应用程序)之间的远程调用..... 调用是跨语言,跨平台... webservice 最基本的组成部分就是客户端,服务端... MyServerSocket.java package cn.itcast.server; import java.io.IOException; import java.io.InputStream; import java.net.Serv

最简单最好用的天气预报接口

天气预报接口有许多,有的很复杂,调用下面这个Flash,就可以轻松的把天气预报加到你的文章里. 点击看效果 <div><embed style="DispLAY: block; WiDTH: 600px; HeiGHT: 500px; TexT-ALiGn: center" src="http://weather.news.sina.com.cn/deco/2009/1224/china.swf" type="application/x-

java调用webservice接口方法

webservice的 发布一般都是运用WSDL(web service descriptive language)文件的款式来发布的,在WSDL文件里边,包含这个webservice暴露在外面可供运用的接口.今日查找到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包含许多方面的free webservice provider,utilities->global weather就