[山海教程]更为强大的HTTP命令

 

现在越来越多的人都偏向于开发安卓按键精灵的脚本,对于安卓按键的命令需求也越来越多,有一些命令是按键本身不具备或者是不够完善,所以特此推出最强LUA插件-山海插件,以供同学们可以更好的开发自己的脚本。...





[山海插件教程-第二十八课]

更为强大的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集市上还有非常丰富的功能,大家可以自行去了解,相应的返回的信息也都可以查询到,这里就不一一的详述了

本节内容就讲解到这里啦!如果大家有什么好的建议或者需要了解某个功能,可以留言哦!

如果大家想对插件有更多的了解,可以阅读原文进行查看哦!下节课内容预告:手机图库看不到图片?有办法!
点击下方“阅读原文”获取更多山海插件命令介绍及下载

↓↓↓





    关注 按键精灵


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册