apistore.baidu.com/astore/classificationservicelist/70.html?sortBy=defaultsortOrder=desc
这里面可以找到很多天气类的API,有些是收费的,有些是免费的
免费:
apistore.baidu.com/astore/serviceinfo/27744.html
API文档见连接
?php
//发送浏览器头信息 告诉浏览器本页面的编码 防止乱码
header("Content-type: text/html; charset=utf-8");
$city = '上海';
//定义接口地址
$encode_url =''.urlencode(mb_convert_encoding($city,'gb2312','utf8')).'password=DJOYnieT8234jlsKday=1';
//请求接口地址 获取xml
$xml_source = file_get_contents($encode_url);
// var_dump($xml_source);
//利用simplexml解析类 将xml 转成对象
$xml_object = simplexml_load_string($xml_source);
// var_dump($xml_object);
echo $xml_object-Weather-status1;
你可以随便调试 记得奖励哦
json就要用json的形式返回啊 就行ajax返回数据一样 它的返回值是true 就是正确的 如果是返回ajax的话,先判断data 为真就直接data.XX(字段名) 就可以取出来了
支持直接jsonp调用 腾讯的 :
;city=nanjing(这个很好 直接输入天气名字就行 英文中文都行)
中国天气 (先查城市id 再查天气)
(根据IP查询城市ID)
(六天预报)
(实时天气信息)
接口会返回json数据,用php提供的json_decode函数可以将其转为对象或者数组,再输出即可。 可以参考我的网站
最近在做微信公众平台测试时,想在里面子菜单上添加查询未来几天(包括今天)天气的功能,就查找了下好用的天气预报查询接口API,使用比较多的有:国家气象局天气接口、新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等,我使用的是百度提供的免费天气查询接口API,下面与大家分享下...
1、查询方式:
百度提供的是根据纬度和城市名查询天气情况
2、接口事例:
3、接口参数说明:
4、返回结果说明:
5、
//城市名
$city = '上海';
//对json格式的字符串进行编码
$arr =json_decode($str,TRUE);
print_r($atr);
//城市名
$city = '上海';
//获取json格式的数据
$str =file_get_contents("".$city."output=jsonak=5slgyqGDENN7Sy7pw29IUvrZ");
//对json格式的字符串进行编码
$arr =json_decode($str,TRUE);
print_r($atr);
6、返回页面的是json编码后的数据:
[plain] view plain copy print?
meta charset="UTF-8"
Array
(
[error] = 0
[status] = success
[date] = 2014-03-17
[results] = Array
(
[0] = Array
(
[currentCity]= 上海
[weather_data]= Array
(
[0]= Array
(
[date] = 周一(今天, 实时:19℃)
[dayPictureUrl] =
[nightPictureUrl] =
[weather] = 晴
[wind] = 西南风3-4级
[temperature] = 13℃
)
[1] = Array
(
[date]= 周二
[dayPictureUrl] =
[nightPictureUrl] =
[weather]= 多云转阴
[wind]= 东北风3-4级
[temperature] = 24 ~ 9℃
)
[2] = Array
(
[date]= 周三
[dayPictureUrl] =
[nightPictureUrl] =
[weather]= 中雨转小雨
[wind]= 东北风3-4级
[temperature] = 15 ~ 8℃
)
[3] = Array
(
[date]= 周四
[dayPictureUrl] =
[nightPictureUrl] =
[weather]= 多云转晴
[wind]= 北风3-4级
[temperature] = 14 ~ 6℃
)
)
)
)
)
meta charset="UTF-8"
Array
(
[error] = 0
[status] = success
[date] = 2014-03-17
[results] = Array
(
[0] = Array
(
[currentCity]= 上海
[weather_data]= Array
(
[0]= Array
(
[date] = 周一(今天, 实时:19℃)
[dayPictureUrl] =
[nightPictureUrl] =
[weather] = 晴
[wind] = 西南风3-4级
[temperature] = 13℃
)
[1] = Array
(
[date]= 周二
[dayPictureUrl] =
[nightPictureUrl] =
[weather]= 多云转阴
[wind]= 东北风3-4级
[temperature] = 24 ~ 9℃
)
[2] = Array
(
[date]= 周三
[dayPictureUrl] =
[nightPictureUrl] =
[weather]= 中雨转小雨
[wind]= 东北风3-4级
[temperature] = 15 ~ 8℃
)
[3] = Array
(
[date]= 周四
[dayPictureUrl] =
[nightPictureUrl] =
[weather]= 多云转晴
[wind]= 北风3-4级
[temperature] = 14 ~ 6℃
)
)
)
)
)
7、PHP中自带了处理json格式字符串的内置函数,下面做一个事例,并给出完整代码:
[php] view plain copy print?
metacharset="UTF-8"
?php
//城市名
$city = '上海';
//获取json格式的数据
$str = file_get_contents("".$city."output=jsonak=5slgyqGDENN7Sy7pw29IUvrZ");
//对json格式的字符串进行编码
$arr = json_decode($str,TRUE);
echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."br /br /";
foreach($arr['results'][0]['weather_data']as $val)
{
echo $val['date']."br/";
echo "天气:{$val['weather']}br/";
echo "风向:{$val['wind']}br/";
echo "温度:{$val['temperature']}br/br /";
}
?
metacharset="UTF-8"
?php
//城市名
$city = '上海';
//获取json格式的数据
$str = file_get_contents("".$city."output=jsonak=5slgyqGDENN7Sy7pw29IUvrZ");
//对json格式的字符串进行编码
$arr = json_decode($str,TRUE);
echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."br /br /";
foreach($arr['results'][0]['weather_data']as $val)
{
echo $val['date']."br/";
echo "天气:{$val['weather']}br/";
echo "风向:{$val['wind']}br/";
echo "温度:{$val['temperature']}br/br /";
}
?
8、返回的内容如下:
Hackernews 编译,转载请注明出处: Mozilla 在其 Firefox 浏览器中加入了带外数据软件升级,包含了两个高影响力的安全漏洞。 Mozilla 称,这两个漏洞正在被大肆利用。 标记为 cve-2022-26485和 cve-2022-26486的零日漏洞被描述为影响 XSLT ...
就在英国警方逮捕了 7 名嫌疑犯之后,近期非常猖獗的黑客组织 Lapsus$ 又有了新动作。在攻击微软、三星、NVIDIA 和 Okta 等公司之后,该组织再次宣布成功攻陷 Globant,后者是一家位于卢森堡的软件开发咨询公司。 在周三宣布自己“度假归来”之后,该组织在其 Telegram 频道...
在俄罗斯对乌克兰采取军事行动的几个月前,一队美国人在乌克兰各地寻找一种非常特殊的威胁。据悉,其中一些小组成员是美国陆军网络司令部的士兵,其他人则是民用承包商和一些美国公司的雇员,他们帮助保护关键基础设施免受俄罗斯机构对乌克兰采取的网络攻击。 自2015年乌克兰电网遭遇网络攻击进而导致基辅部分地区停...
加拿大多伦多大学下属“公民实验室”(Citizen Lab)的研究人员当地时间周一发文称,该实验室的核心任务是对民间社会的数字威胁进行研究。在调查雇佣军间谍软件的过程中,他们偶尔会观察到一些案例,怀疑政府正在使用间谍软件对其他政府进行国际间谍活动。这些案件绝大多数都不属于他们的范围和任务。然而,在某...
有使用LastPass的用户报告说,有多人试图使用正确的主密码从不同地点登录,表明该公司可能存在数据泄露。Hacker News论坛的多名用户报告称他们的LastPass的主密码似乎被泄露了。 目前还不知道这些密码是如何泄露的,但在用户中已经出现了一种类似的情形。 大多数报告似乎来自拥有过时的Las...
医疗设备制造商美敦力公司(Medtronic)已召回其部分胰岛素泵使用的遥控器,因为这些遥控器存在严重的漏洞,可能导致患者受伤或死亡。 攻击者可以利用漏洞来改变胰岛素泵提供给病人的剂量。 “MiniMed™远程控制器使用无线射频(RF)与胰岛素泵通信,可以在不按任何胰岛素泵按钮的情况下将一定量的胰岛...