[山海教程]更为强大的HTTP命令
现在越来越多的人都偏向于开发安卓按键精灵的脚本,对于安卓按键的命令需求也越来越多,有一些命令是按键本身不具备或者是不够完善,所以特此推出最强LUA插件-山海插件,以供同学们可以更好的开发自己的脚本。...
[山海插件教程-第二十八课]
更为强大的HTTP命令
更为强大的HTTP命令
插件的起源
现在越来越多的人都偏向于开发安卓按键精灵的脚本,对于安卓按键的命令需求也越来越多,有一些命令是按键本身不具备或者是不够完善,所以特此推出最强LUA插件-山海插件,以供同学们可以更好的开发自己的脚本。
本节内容介绍
按键本身自带有HTTP的GET和POST方法,但是呢~功能还不够强大,现在很多的网站的GET信息都需要附带一些特定的Header信息才能正确获取到结果。而按键自带的GET恰好没有这样的功能,实在很遗憾。但是才能命令里就能实现了。
本节相关命令:
命令名称GetHttp命令功能Get访问HTTP资源参数
参数1【必要】:字符串,访问的网址
参数2【可选】:整数型,设置最大的超时时间
参数3【可选】:字符串,自定义头信息
返回值返回生成的随机数命令名称PostHttp命令功能Post访问HTTP资源参数参数1【必要】:字符串,访问的网址
参数2【必要】:字符串,post提交的信息
参数3【可选】:整数型,设置最大超时时间
参数4【可选】:字符串,自定义信息头
返回值返回获取到的网页源码
应用场景(一)
这两个命令和官方的命令最大的差别就在于可以添加自定义信息头。有了这样的功能我们可以做很多的事情~~这里给大家介绍一个百度的良心网站——API集市。这里有很多收费或者免费的API可以使用,功能多的超乎想象。他只需要通过GET方法加上特殊的Header信息头就能实现很多事情。
范例(通过GET来获取天气):
Import "ShanHai.lua"
// 想要查询的城市
Dim param = "福州"
// 自己的百度API的key,可以在API后台查到
Dim header = "apikey:648fe2b8c016014bbe3b287d0d1c622f"
// get提交信息
TracePrint shanhai.GetHttp("http://apis.baidu.com/apistore/weatherservice/cityname?cityname=" & param, 10, header)百度API返回的数据是JSON格式的,我们可以转换成Table数据格式以便查看具体的数据。我们来把这个查询天气的功能封装下:
Import "ShanHai.lua"
Function GetWeather(city, apikey)
// 定义数据
Dim api_url = "http://apis.baidu.com/apistore/weatherservice/cityname?cityname=" & city
Dim header = "apikey:" & apikey
// 提交信息
Dim json = shanhai.GetHttp(api_url, 10, header)
// json数据转成table数据
Dim table = Encode.JsonToTable(json)
GetWeather = table
End Function
Dim weather = GetWeather("福州", "648fe2b8c016014bbe3b287d0d1c622f")
If weather["errNum"] = 0 Then
TracePrint "福州今日的天气:" & weather["retData"]["weather"]
TracePrint "今日气温:" & weather["retData"]["temp"]
Else
TracePrint "查询失败"
End If
应用场景(二)
我们还可以通过api去查询汇率范例:
Import "ShanHai.lua"
Function Converter(fromCurrency, toCurrency, amount)
// 定义数据
Dim api_url = "http://apis.baidu.com/apistore/currencyservice/currency?"
api_url = api_url & "&fromCurrency=" & fromCurrency
api_url = api_url & "&toCurrency=" & toCurrency
api_url = api_url & "&amount=" & amount
Dim header = "apikey:648fe2b8c016014bbe3b287d0d1c622f"
// 提交信息
Dim json = shanhai.GetHttp(api_url, 10, header)
// json数据转成table数据
Dim table = Encode.JsonToTable(json)
Converter = table
End Function
Dim currency = Converter("CNY", "USD", 500)
If currency["errNum"] = 0 Then
TracePrint "按照" & currency["retData"]["date"] & "的汇率转换之后的金额是:" & currency["retData"]["convertedamount"]
Else
TracePrint "查询失败"
End If
总结预告
怎么样?是不是感觉配合百度的api之后就可以实现了各种高大上的功能了?百度的api集市上还有非常丰富的功能,大家可以自行去了解,相应的返回的信息也都可以查询到,这里就不一一的详述了
本节内容就讲解到这里啦!如果大家有什么好的建议或者需要了解某个功能,可以留言哦!
如果大家想对插件有更多的了解,可以阅读原文进行查看哦!下节课内容预告:手机图库看不到图片?有办法!
点击下方“阅读原文”获取更多山海插件命令介绍及下载怎么样?是不是感觉配合百度的api之后就可以实现了各种高大上的功能了?百度的api集市上还有非常丰富的功能,大家可以自行去了解,相应的返回的信息也都可以查询到,这里就不一一的详述了
本节内容就讲解到这里啦!如果大家有什么好的建议或者需要了解某个功能,可以留言哦!
如果大家想对插件有更多的了解,可以阅读原文进行查看哦!下节课内容预告:手机图库看不到图片?有办法!
↓↓↓


关注 按键精灵
