• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.1
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.5
软件大小:29.2M
更新时间:06-14

最新企业版UiBot
立即下载

软件版本:2.5
软件大小:181M
更新时间:05-20

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 35
发新话题 回复该主题

[教程心得] 【山海插件教程】更为强大的HTTP方法 [复制链接]

1#
小伙伴们大家好,按键本身自带有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来获取天气
  1. Import "ShanHai.lua"

  2. // 想要查询的城市
  3. Dim param = "福州"
  4. // 自己的百度API的key,可以在API后台查到
  5. Dim header = "apikey:648fe2b8c016014bbe3b287d0d1c622f"
  6. // get提交信息
  7. TracePrint shanhai.GetHttp("http://apis.baidu.com/apistore/weatherservice/cityname?cityname=" & param, 10, header)
复制代码
百度API返回的数据是JSON格式的,我们可以转换成Table数据格式以便查看具体的数据。我们来把这个查询天气的功能封装下
  1. Import "ShanHai.lua"

  2. Function GetWeather(city, apikey)
  3. // 定义数据
  4. Dim api_url = "http://apis.baidu.com/apistore/weatherservice/cityname?cityname=" & city
  5. Dim header = "apikey:" & apikey
  6. // 提交信息
  7. Dim json = shanhai.GetHttp(api_url, 10, header)
  8. // json数据转成table数据
  9. Dim table = Encode.JsonToTable(json)
  10. GetWeather = table
  11. End Function

  12. Dim weather = GetWeather("福州", "648fe2b8c016014bbe3b287d0d1c622f")
  13. If weather["errNum"] = 0 Then
  14. TracePrint "福州今日的天气:" & weather["retData"]["weather"]
  15. TracePrint "今日气温:" & weather["retData"]["temp"]
  16. Else
  17. TracePrint "查询失败"
  18. End If
复制代码


我们还可以通过api去查询汇率


  1. Import "ShanHai.lua"

  2. Function Converter(fromCurrency, toCurrency, amount)
  3. // 定义数据
  4. Dim api_url = "http://apis.baidu.com/apistore/currencyservice/currency?"
  5. api_url = api_url & "&fromCurrency=" & fromCurrency
  6. api_url = api_url & "&toCurrency=" & toCurrency
  7. api_url = api_url & "&amount=" & amount
  8. Dim header = "apikey:648fe2b8c016014bbe3b287d0d1c622f"
  9. // 提交信息
  10. Dim json = shanhai.GetHttp(api_url, 10, header)
  11. // json数据转成table数据
  12. Dim table = Encode.JsonToTable(json)
  13. Converter = table
  14. End Function

  15. Dim currency = Converter("CNY", "USD", 500)
  16. If currency["errNum"] = 0 Then
  17. TracePrint "按照" & currency["retData"]["date"] & "的汇率转换之后的金额是:" & currency["retData"]["convertedamount"]
  18. Else
  19. TracePrint "查询失败"
  20. End If
复制代码


怎么样?是不是感觉配合百度的api之后就可以实现了各种高大上的功能了?百度的api集市上还有非常丰富的功能,大家可以自行去了解,相应的返回的信息也都可以查询到,这里就不一一的详述了



    已有1评分我要评分查看所有评分

    本主题由 管理员 青黛 于 2018/3/1 17:26:25 执行 审核帖子 操作
    2#


    有项目 写脚本 合作共赢

    QQ: 999-8968-0
    3#

    感谢分享

    收徒索引
    ----将满
    个人QQ:1223116618
    4#

    ddddddddddddddd

    5#

    感谢分享

    6#

    山海插件教程】更为强大的HTTP方法

    [url=http://bbs.anji
    7#

    看看看看看看

    8#

    可是很多都是要钱钱的, 城里的人太会玩了!

    9#

    333333QQQQQQQQQQQQQQQQ

    10#


    11#

    谢谢分享。。

    12#

    ppppppppppppppppppppppppppppppp

    13#

    vvvvvvvvvvvvvvvvvvvvvvvvvv

    14#

    :【山海插件教程】更为强大的HTTP方法修改

    15#


    16#

    我靠坎坎坷坷

    17#

    真需要POST的插件~ 感谢分享~

    18#

    太好了

    19#

    而访问人融32343

    20#

    cool~~~

    发新话题 回复该主题