欢迎大家来到IT世界,在知识的湖畔探索吧!
一、背景引子
最近一周多的时间,我一直在忙单位一个产品项目的技术攻关,自然就没有了公众号的创作更新,也怠慢了各位看官老爷们啦,希望大家多多理解和包涵,毕竟还要靠单位的工作恰饭吃的,要不没有人养我!
言归正传,本公众号虽然不能做到日更,但是今年争取做到周更。
本周首篇还是为大家呈现一篇旧文新作,说是旧文,因为这是在知乎发布过的回答文章,内容编写还算不错;又是新作,是在原来的基础上,这次是把配套代码资源分享给大家。
以往我很少分享自己开发的相关源码,主要原因就是基于下列几条,
第一:很多源码是根据单位业务工作需要开发,牵涉到商业价值秘密,不便公开;
第二:NI官方范例和相关网络中的范例代码方方面面基本都有,一般人组合一下便可,自己贡献的代码和范例重复性颇高,无需再公开;
第三:认为自己的代码水平太低,丢人现眼,不好意思分享;
第四:分享的内容主要定位于中高端编程开发和LabVIEW的各种科普八卦趣闻等内容,因此对于想要迈入中高级开发者而言,宏观整体概念认知要比具体的细节代码更重要,并且一些通用的编程概念是完全横跨多种编程语言的,所以对代码分享不太重视。
但是在讲解一些编程开发知识时,没有配套示范代码就像XXX片打了码,着实是影响了观感!降低了文章内容的价值,后继我逐渐予以改善,多分享一些实操代码给大家。
所以首次真情无码付出,LabVIEW与网页交互的配套代码送给你:老规矩,在公众号发送关键词:“LabVIEW网页开发”,我发送百度网盘分享链接给你,发送关键词时,请特别需要注意“LabVIEW“和“网页开发”中间没有空格。
本公众号到目前为主,其它的关键词链接如下:
二、LabVIEW与网页进行交互
简单的问题往往需要一个复杂的回答,才能把事情讲清楚,我将从基本概念、LabVIEW HTTP 客户端函数、我们的实际工程案例、给你的建议这四个方面予以解答。
1.基本概念
需要明确的是:LabVIEW要完成交互通信的对象不是网页,而是渲染产生网页的后台Web服务器,这种交互方式是典型的Client/Server架构。
两者间的通信协议为标准的HTTP协议,所以解决你的问题,必须要先理解HTTP 、HTML和JSON的基本概念,建议你先入手《图解HTTP 》和《网络是怎样连接》的这两本图书,打一下概念基础,要不然直接撸代码很难入手!
不用担心书看起来头疼,这两本都是日本作家科普入门类的好书,和看漫画书差不多。
2.LabVIEW HTTP 客户端函数
开发C/S程序,作为客户端(Client)的LabVIEW需要通过HTTP协议访问远端的Web应用服务器(在你问题描述里,就是指顺丰快递的Web服务器)。
通过LabVIEW 的 HTTP客户端软件包编程(专业版默认随机自带)就可以访问服务器对外开放的Web API服务,返回的是JSON格式的键值对,如果无法获取其Web API,就只能通过解析(Parse)网页来获取相关信息,以及创建键值对表单上传(POST)信息。
一个访问服务器典型的Web API提供的登陆及退出功能如下图所示:
表单信息POST上传的框图如下图示意:
3.我们的例子
我们去年完成个小的示范项目就是LabVIEW通过HTTP WEB API与我们的信息管理系统进行双向信息通信。
实现的功能:
计量自动测试软件和计量管理信息系统相辅相成,智能计量概念对两套系统之间信息交互也提出不同以往的简单二进制电子文档的信息交互模式,本项目研究计量自动测试软件与计量管理信息系统的新型交互方式,开发完成了基于HTTP协议的RESTful Web API技术的测试信息及数据结果的交互模块软件。
整体的架构图:
典型的测试序列图:
视频演示功能:
https://www.zhihu.com/zvideo/1217222627380969472
4.给你的建议
我们的系统参数比较多,流程稍显复杂了点!你的问题场景比较简单,况且HTTP Client 客户端编程比起Web服务器端编程简单的多,只要明白网络通信的基本概念,用好HTTP 的 GET 函数和 POST函 数,设置好必要的会话 ID,另外注意一下编码格式(UTF-8编码格式)就可以通行无阻了!
大多数网站的Web服务器是有返回JSON格式的Web API,但是估计不开放给个人应用,因此你就需要在模仿网页浏览器GET读取后,得到HTML页面进行相关信息的查找与获取,及进行后继相应的处理,并通过表单 POST 上传必要的信息返还给Web应用服务器。
分享不易,还请各位看官老爷们多多点赞,转发和再看,你多多动动小手,就可以让我远离公众号发广告的诱惑深渊。
期待与大家共同进步,在LabVIEW的学习道路上一路前行!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/22617.html