天气预报API接口是气象服务商为客户提供服务的唯一接口。拿墨迹赤必为例,跟客户充分沟通后了解客户的实际需求,从而对现有的数据进行调整,符合客户的需求形成API接口,让客户接入,这样就形成了一个完整的服务。所以说API接口并不是一个很神秘的东西,只不过是企业和客户之间的一条服务纽带。
百度API Key申请地址: 创建应用 如图: 提交后得到API Key 如图: 接口实例:?location=南昌output=jsonak=你的API Keymcode=你的数字签名SHA1;com.
最近在做微信公众平台测试时,想在里面子菜单上添加查询未来几天(包括今天)天气的功能,就查找了下好用的天气预报查询接口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、返回的内容如下:
若需设置手机天气小组件,您可以:1.在待机桌面下长按屏幕空白处-小组件-找到该小组件-长按住小组件移动至桌面即可。2.添加城市:添加天气小组件后,在主页面上点击天气小组件,在出现的页面上点“+”,即可搜索添加城市。(若是首次使用可在输入框中入城市名称,并进行搜索。)
试试我的过滤模块,不过我已经帮你调试好了,可以直接使用
%
getContent=GetURL("")
Function GetURL(url)
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "GET", url, false
.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
.Send
GetURL = .ResponseBody
End With
Set Retrieval = Nothing
GetURL=bstr(GetURL)
End Function
Function bstr(vIn)
Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode H80 Then
strReturn = strReturn Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn Chr(CLng(ThisCharCode) * H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bstr = strReturn
End Function
Function FilterHTML(strToFilter)
Dim strTemp
strTemp = strToFilter
strTemp=replace(strTemp,"石家庄","")
strTemp=replace(strTemp,"更多城市","")
strTemp=replace(strTemp," gt; gt;","")
strTemp=replace(strTemp,"[定制其他城市天气]","")
FilterHTML = strTemp
End Function
%
table width="800" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#D4D0C8"
tr
td%response.Write FilterHTML(getContent)%/td
/tr
/table
就在英国警方逮捕了 7 名嫌疑犯之后,近期非常猖獗的黑客组织 Lapsus$ 又有了新动作。在攻击微软、三星、NVIDIA 和 Okta 等公司之后,该组织再次宣布成功攻陷 Globant,后者是一家位于卢森堡的软件开发咨询公司。 在周三宣布自己“度假归来”之后,该组织在其 Telegram 频道...
Hackernews 编译,转载请注明出处: 研究人员披露了 TerraMaster NAS设备的关键安全漏洞的细节,这些设备可以链接到未经身份验证的远程代码执行,且具有最高权限。 埃塞俄比亚网络安全研究公司 Octagon Networks 的 Paulos yibello 在分...
乌克兰计算机应急响应小组(CERT-UA)在周二的一份安全公告中称,他们刚刚破坏了 Sandworm 想要攻陷一家该国能源供应商的企图。据说 Sandworm 是一个与俄罗斯军事情报部门有关联的黑客组织,期间试图利用臭名昭著的新版 Industroyer 恶意软件,来切断未具名的某能源供应商的变电站...
美国联邦调查局警告食品和农业公司,要做好准备,防止勒索软件操作者在播种和收获季节攻击农业实体。联邦调查局的警告指出,以前在这些季节对6个粮食合作社的勒索软件攻击是在2021年秋收期间进行的,2022年初的两次攻击可能通过破坏种子和化肥的供应而影响种植季节。 “网络犯罪分子可能将农业合作社视为有利可...
微软披露其已经缓解了一场发生于8月份的2.4Tbps分布式拒绝服务(DDoS)攻击。这次攻击针对欧洲的一个Azure客户,比微软在2020年记录的最高攻击带宽量高出140%。它也超过了之前最大的攻击2.3Tbps的峰值流量,这是在去年针对亚马逊网络服务的攻击。 微软表示,这次攻击持续了10多分钟,...
随着勒索软件和世界各地其他网络攻击的增加,系统运营商更加担心复杂的 “虚假数据注入 “攻击,即黑客向其提供虚假的数据,欺骗电脑系统和人员,使其认为操作正常。然后,攻击者扰乱了工厂关键机器的功能,导致其运行不良或故障。当安全人员意识到他们被欺骗时,为时已晚,造成了灾难性的后果。 普渡大学的Hany A...