使用LabWindowsCVI向服务器发送Http请求

使用CVI的时候相关的资料总是找不到,就把用到的记录下来,避免自己忘记了。
在CVI中向服务器发送http请求时,其中一种方法是创建一个.NET控制器,它生成能够利用Microsoft .NET Framework的功能面板。具体操作如下:
输入需要请求的网址;返回响应内容:
比如输入百度首页:
”https://www.baidu.com“
开始时必须加入这两个头文件,具体位置在CVI实例文件的dotnet文件夹下面:
我的在C:\Users\Public\Documents\National Instruments\CVI2017\samples\dotnet
在工程中添加mscorlib.h、 mscorlib.fp 和SystemWrapper.h、 SystemWrapper.fp
如下图:

`#include "mscorlib.h"//必须加入这两个#include "SystemWrapper.h"//必须加入这两个#include <cvidotnet.h>#include <ansi_c.h>#include <cvirte.h>        #include <userint.h>#include "HTTP.h"#include "toolbox.h"`

`发送请求按钮回调函数为:

int CVICALLBACK send_clicked (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
{char *responseString;System_IO_StreamReader reader;System_IO_Stream stream;System_Net_WebClient web_client;switch (event){case EVENT_COMMIT://初始书需要用到的.NET控制器Initialize_System ();Initialize_mscorlib ();``//建立连接System_Net_WebClient__Create (&web_client, 0);char url[512];GetCtrlVal (panelHandle, PANEL_TEXTBOX, url);             //在WebClient上调用OpenRead,它返回对Stream类实例的引用,第一次使用OpenRead会比较慢,之后会很快40msSystem_Net_WebClient_OpenRead (web_client, url, &stream, 0);//获取指向新StreamReader对象的指针以读取Stream对象。System_IO_StreamReader__Create (&reader, stream, 0);//在StreamReader对象上调用ReadToEnd以读取服务器的响应字符串。System_IO_StreamReader_ReadToEnd (reader, &responseString, 0);//在文本框中显示响应返回值SetCtrlVal (panelHandle, PANEL_TEXTBOX_2, responseString);//关闭并释放资源CDotNetDiscardHandle (web_client);CDotNetDiscardHandle (stream); CDotNetDiscardHandle (reader); CDotNetFreeMemory (responseString);break;}return 0;
}

基于LabWindowsCVI的Http请求相关推荐

  1. ARP原理概述——基于WinPcap发送ARP请求数据包获取远程MAC地址

    ARP原理概述--基于WinPcap发送ARP请求数据包获取远程MAC地址 ARP协议 ARP概述 ARP工作原理 ARP数据包格式 编写程序发送ARP请求获取本机和远程IP的MAC 注意: ARP协 ...

  2. 基于jquery,ajax请求及自我终止的函数封装

    场景描述: 在我们平时的开发过程中,经常会遇到这样的情况.在搜索功能中进行模糊搜索或者联想关联. 这就要我们每次对输入框中的数据进行改动时,都要发送一次请求.当在短时间内多次操作改动时,问题就出现了. ...

  3. 基于OkHttp3封装网络请求框架

    前言 网络请求可以说是开发一款移动APP最核心的基础功能了,通过实际工作中以及浏览了许多网络框架之后,本篇在这里分享慕课一位老师基于OkHttp封装的一个轻量的网络框架,至于为什么说它轻量,因为代码少 ...

  4. 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了Web渗透的第一步工作,涉及网站信息.域名信息.端口信息.敏感信息及指纹 ...

  5. Go 基于原生的HTTP请求封装

    //发送HTTP请求 func SendHttpRequest(url,method ,body string,cookies []http.Cookie,headers []map[string]s ...

  6. 基于wireshark的HTTP请求报文分析

    HTTP请求 一个HTTP请求由四个部分组成:请求行.请求头部.空行.请求数据. -请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET /data ...

  7. 前端学习(1257):基于promise处理ajax请求

  8. 基于浏览器的http普通请求与ajax请求

    发起一个http请求,可以通过浏览器,也可以通过程序去发起.通过程序去发起http请求(比如java中HttpURLConnection),只要是http层的东西都是能够伪造的,当然大部分还是伪造he ...

  9. Vue学习笔记(三)Vue2三种slot插槽的概念与运用 | ES6 对象的解构赋值 | 基于Vue2使用axios发送请求实现GitHub案例 | 浏览器跨域问题与解决

    文章目录 一.参考资料 二.运行环境 三.Vue2插槽 3.1 默认插槽 3.2 具名插槽 3.3 作用域插槽 ES6解构赋值概念 & 作用域插槽的解构赋值 3.4 动态插槽名 四.GitHu ...

  10. 网络请求方式Fetch简介

    fetch是一种HTTP数据请求的方式,是XMLHttpRequest的一种替代方案.fetch不是ajax的进一步封装,而是原生js.Fetch函数就是原生js,没有使用XMLHttpRequest ...

最新文章

  1. poj 2392 Space Elevator
  2. 深度学习100例-卷积神经网络(CNN)实现mnist手写数字识别 | 第1天
  3. Apache java文件比对,Java Apache Commons的字符串比较
  4. 将数字n转换为字符串并保存到s中
  5. Angularjs进阶笔记(2)—自定义指令中的数据绑定
  6. Pycharm中设置py文件头部注释信息
  7. GroupMetadataManager分析
  8. 微课|中学生可以这样学Python(8.1节):解析算法例题讲解
  9. ES6学习(八)—Promise对象 超鸡重要
  10. 浅谈line-height 1
  11. Anacond win10安装与介绍
  12. 如何在Mac视频中删除音频呢?
  13. python 3 导入 迭代判断
  14. 2021-06-13读写锁=独占锁与共享锁
  15. 【vue】ramda.js在vue中的使用
  16. 数字电路设计之RTL编码指导原则
  17. matlab 7.0 win8,Win8.1系统中matlab7.0不兼容的解决方法
  18. java跳转页面_几种方式实现Javaweb页面跳转
  19. 比特客区块链 | 从A到Z速记区块链词汇表
  20. linux下利用图形化工具合并分区

热门文章

  1. linux,centos部署wekan项目管理平台
  2. 还原数据库SQL语句
  3. GMail为什么可以屹立不倒?
  4. 虚幻5会对行业产生什么重大变化影响?
  5. 虚幻引擎5改变了游戏,并与Perforce原生集成
  6. 《华为工作法》8 自我提升的华为人
  7. div、p、span标签如何做到首行缩进两个字符
  8. 微信公众平台 登陆php,javascript - 微信公众号开发,如何使用户保持登录状态
  9. python基础ppt_python基础知识(三)
  10. C语言及程序设计基础 课程主页