话不多说,直接上代码。
GET方式访问Web服务
// 以GET方式访问Web服务
rs = getWeb("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName=北京")
// 检查可能出现的错误
if isErrStr(rs) {
pl("server response error: %v", getErrStr(rs))
exit()
}
// 输出返回结果
pln(rs)
// 获取服务返回信息的某个xml节点
// 这里是天气预报信息
node = fromXML(rs, "ArrayOfString")
// 检查可能的XML格式错误
checkErrf("failed to get XML node: %v", node)
// 获取该节点下所有的子节点
ary = node.ChildElements()
// 遍历这些节点并输出每个节点的文字
for i, v = range ary {
pl("[%v] %v", i, v.Text())
}
运行结果:
D:\tmpx>gox httpGet.gox
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/">
<string>直辖市</string>
<string>北京</string>
<string>54511</string>
<string>54511.jpg</string>
<string>2022/1/7 8:35:50</string>
<string>-6℃/6℃</string>
<string>1月7日 晴</string>
<string>西南风小于3级</string>
<string>0.gif</string>
<string>0.gif</string>
<string>今日天气实况:气温:-3℃;风向/风力:东北风 1级;湿度:87%;紫外线强度:中等。</string>
<string>感冒指数:易发,昼夜温差大,易感冒。
运动指数:较不宜,天气寒冷,推荐您进行室内运动。
过敏指数:极不易发,无需担心过敏,可放心外出,享受生活。
穿衣指数:冷,建议着棉衣加羊毛衫等冬季服装。
洗车指数:适宜,天气较好,适合擦洗汽车。
紫外线指数:中等,涂擦SPF大于15、PA+防晒护肤品。
</string>
<string>-5℃/9℃</string>
<string>1月8日 多云</string>
<string>北风转东风小于3级</string>
<string>1.gif</string>
<string>1.gif</string>
<string>-5℃/4℃</string>
<string>1月9日 阴转多云</string>
<string>东北风转北风小于3级</string>
<string>2.gif</string>
<string>1.gif</string>
<string>北京位于华北平原西北边缘,市中心位于北纬39度,东经116度,四周被河北省围着,东南和天津市相接。全市面积一万六千多平方公里,辖12区6县,人口1100余万。北京为暖温带半
湿润大陆性季风气候,夏季炎热多雨,冬季寒冷干燥,春、秋短促,年平均气温10-12摄氏度。北京是世界历史文化名城和古都之一。早在七十万年前,北京周口店地区就出现了原始人群部落“北
京人”。而北京建城也已有两千多年的历史,最初见于记载的名字为“蓟”。公元前1045年北京成为蓟、燕等诸侯国的都城;公元前221年秦始皇统一中国以来,北京一直是中国北方重镇和地方中心
;自公元938年以来,北京又先后成为辽陪都、金上都、元大都、明清国都。1949年10月1日正式定为中华人民共和国首都。北京具有丰富的旅游资源,对外开放的旅游景点达200多处,有世界上
最大的皇宫紫禁城、祭天神庙天坛、皇家花园北海、皇家园林颐和园,还有八达岭、慕田峪、司马台长城以及世界上最大的四合院恭王府等各胜古迹。全市共有文物古迹7309项,其中国家文物保
护单位42个,市级文物保护单位222个。北京的市树为国槐和侧柏,市花为月季和菊花。另外,北京出产的象牙雕刻、玉器雕刻、景泰蓝、地毯等传统手工艺品驰誉世界。</string>
</ArrayOfString>
[0] 直辖市
[1] 北京
[2] 54511
[3] 54511.jpg
[4] 2022/1/7 8:35:50
[5] -6℃/6℃
[6] 1月7日 晴
[7] 西南风小于3级
[8] 0.gif
[9] 0.gif
[10] 今日天气实况:气温:-3℃;风向/风力:东北风 1级;湿度:87%;紫外线强度:中等。
[11] 感冒指数:易发,昼夜温差大,易感冒。
运动指数:较不宜,天气寒冷,推荐您进行室内运动。
过敏指数:极不易发,无需担心过敏,可放心外出,享受生活。
穿衣指数:冷,建议着棉衣加羊毛衫等冬季服装。
洗车指数:适宜,天气较好,适合擦洗汽车。
紫外线指数:中等,涂擦SPF大于15、PA+防晒护肤品。
[12] -5℃/9℃
[13] 1月8日 多云
[14] 北风转东风小于3级
[15] 1.gif
[16] 1.gif
[17] -5℃/4℃
[18] 1月9日 阴转多云
[19] 东北风转北风小于3级
[20] 2.gif
[21] 1.gif
[22] 北京位于华北平原西北边缘,市中心位于北纬39度,东经116度,四周被河北省围着,东南和天津市相接。全市面积一万六千多平方公里,辖12区6县,人口1100余万。北京为暖温带半湿润
大陆性季风气候,夏季炎热多雨,冬季寒冷干燥,春、秋短促,年平均气温10-12摄氏度。北京是世界历史文化名城和古都之一。早在七十万年前,北京周口店地区就出现了原始人群部落“北京人
”。而北京建城也已有两千多年的历史,最初见于记载的名字为“蓟”。公元前1045年北京成为蓟、燕等诸侯国的都城;公元前221年秦始皇统一中国以来,北京一直是中国北方重镇和地方中心;自
公元938年以来,北京又先后成为辽陪都、金上都、元大都、明清国都。1949年10月1日正式定为中华人民共和国首都。北京具有丰富的旅游资源,对外开放的旅游景点达200多处,有世界上最大
的皇宫紫禁城、祭天神庙天坛、皇家花园北海、皇家园林颐和园,还有八达岭、慕田峪、司马台长城以及世界上最大的四合院恭王府等各胜古迹。全市共有文物古迹7309项,其中国家文物保护单
位42个,市级文物保护单位222个。北京的市树为国槐和侧柏,市花为月季和菊花。另外,北京出产的象牙雕刻、玉器雕刻、景泰蓝、地毯等传统手工艺品驰誉世界。
POST方式访问Web服务
// 以POST方式访问Web服务
// 定义需要POST的数据
data = {"theCityName": "北京"}
// 访问网络API接口
// 直接将POST数据代入参数即可,getWeb函数第一个参数必须是URL,后面的参数顺序无所谓
rs = getWeb("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName", data)
// 检查可能出现的错误
if isErrStr(rs) {
pl("server response error: %v", getErrStr(rs))
exit()
}
// 输出返回结果
pln(rs)
// 获取服务返回信息的某个xml节点
// 这里是天气预报信息
node = fromXML(rs, "ArrayOfString")
// 检查可能的XML格式错误
checkErrf("failed to get XML node: %v", node)
// 获取该节点下所有的子节点
ary = node.ChildElements()
// 遍历这些节点并输出每个节点的文字
for i, v = range ary {
pl("[%v] %v", i, v.Text())
}
注意:
Gox语言是脱胎于Go语言(Golang)的开源脚本语言,解释执行,但相比Go语言更贴近高级语言,语法硬性限制也少一些;是一门偏向快速应用的语言,也可以说是一个集成工具;
-
Gox语言主要优势有三点:
- 第一,Gox语言本身只有一个可执行文件,绿色免配置,下载即可使用,无需安装Go语言环境,无需编译,非常适合快速制作原型以及云服务器上的远程开发;
- 第二,Gox中可以直接使用绝大多数Go语言标准库中的对象和方法函数,也内置了很多常用、优秀的第三方库,充分发挥Go语言多年积累的资源优势;
- 第三,与很多其他主流语言不同,Gox语言着力解决了GUI图形界面编程的问题,内置了基于Sciter的图形界面编程库,直接可以进行快捷高效的跨平台图形界面开发(Sciter只需下载一个动态链接库文件,执行和分发时附带上即可,放置在系统路径中或者与Gox主程序相同目录下即可),特别适合编写演示原型系统,也经历了一些中小型系统的检验,尤其是作为轻量级的微服务后台。
作为脚本语言,Gox语言性能肯定不如Go语言这样的编译型语言快,但在大多数使用场景下性能也足够用。并且,由于Gox语言与Go语言的紧密联系,Gox语言编写的脚本可以很容易的改写成Go语言代码,编译执行后就可以发挥Go语言的速度优势了。因此,Gox语言也比较适合做初期的Go语言调试。
Gox的官网在这里,也可以在浏览器搜索引擎中直接搜索“gox语言”,Github页面在这里,在这里可以看到很多Gox语言的学习指南和实际应用实例。
如果人生是一场旅行,我愿沿途播撒花朵。