当前位置: 首页 > news >正文

网页数据采集HTTP Get,Post登录提交数据--VBS之Microsoft.XMLHTTP对象

MSXML中提供了Microsoft.XMLHTTP对象,能够完成从数据包到Request对象的转换以及发送任务。
创建XMLHTTP对象的语句如下:
Set objXML = CreateObject("Msxml2.XMLHTTP") 或
Set objXML = CreateObject(“Microsoft.XMLHTTP”)
' Or, for version 3.0 of XMLHTTP, use:
' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
对象创建后调用Open方法对Request对象进行初始化,语法格式为:
poster.open http-method, url, async, userID, password
Open方法中包含了5个参数,前三个是必要的,后两个是可选的(在服务器需要进行身份验证时提供)。参数的含义如下所示: 
http-method: HTTP的通信方式,比如GET或是 POST
url: 接收XML数据的服务器的URL地址。通常在URL中要指明 ASP或CGI程序
async:一个布尔标识,说明请求是否为异步的。如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作
userID 用户ID,用于服务器身份验证
password 用户密码,用于服务器身份验证
XMLHTTP对象的Send方法
用Open方法对Request对象进行初始化后,调用Send方法发送XML数据:
poster.send XML-data
Send方法的参数类型是Variant,可以是字符串、DOM树或任意数据流。发送数据的方式分为同步和异步两种。在异步方式下,数据包一旦发送完毕,就结束Send进程,客户机执行其他的操作;而在同步方式下,客户机要等到服务器返回确认消息后才结束Send进程。
XMLHTTP对象中的readyState属性能够反映出服务器在处理请求时的进展状况。客户机的程序可以根据这个状态信息设置相应的事件处理方法。属性值及其含义如下表所示:
值 说明
0 Response对象已经创建,但XML文档上载过程尚未结束
1 XML文档已经装载完毕
2 XML文档已经装载完毕,正在处理中
3 部分XML文档已经解析
4 文档已经解析完毕,客户端可以接受返回消息
客户机处理响应信息
客户机接收到返回消息后,进行简单的处理,基本上就完成了C/S之间的一个交互周期。客户机接收响应是通过XMLHTTP对象的属性实现的:
● responseTxt:将返回消息作为文本字符串;
● responseXML:将返回消息视为XML文档,在服务器响应消息中含有XML数据时使用;
● responseStream:将返回消息视为Stream对象。

Set objXML = CreateObject("Microsoft.XMLHTTP") '创建XMLHTTP组件;
UrlSend = "http://xxxx/"
objXML.open "GET",UrlSend,false
objXML.send()
ReturnVar = objXML.responseText
'处理返回数据做判断!

'取得网页文件代码函数
function getHTTPPage(url)
dim http
set http=createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
 exit function
end if
getHTTPPage=bytes2BSTR(Http.responseBody)
set http=nothing
if err.number<>0 then err.Clear
end function

'字节转化成字符串函数
Function bytes2BSTR(vIn)
dim strReturn
dim i,ThisCharCode,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function

比如你的myurl="www.163.com"
Content = getHTTPPage(myurl)
你可以response.write出content来看,然后用instr,mid,replace提炼出页面的主题

Function GetHTTPPage(url) '获取服务器生成的html代码
 on error resume next
 dim XmlHttp
 set XmlHttp=Server.createobject("Microsoft.XMLHTTP")
 XmlHttp.open "GET",url,false
 XmlHttp.send()
 'getHTTPPage=Http.responseText
 if XmlHttp.readystate<>4 then exit function
 GetHTTPPage=bytes2BSTR(XmlHttp.responseBody)
 set XmlHttp=nothing
 if err.number<>0 then err.Clear
End Function

Function Bytes2bStr(vin)
  Dim BytesStream,StringReturn
  Set BytesStream = Server.CreateObject("ADODB.Stream")
  BytesStream.Type = 2
  BytesStream.Open
  BytesStream.WriteText vin
  BytesStream.Position = 0
  BytesStream.Charset = "GB2312"
  BytesStream.Position = 2
  StringReturn =BytesStream.ReadText
  BytesStream.close
  Set BytesStream = Nothing
  Bytes2bStr = StringReturn
End Function
 

function GetXml(Url){
try{
 var XmlHttp=Server.CreateObject("Microsoft.XMLHTTP");
 XmlHttp.open("get",Url,false);
 XmlHttp.send();
 return XmlHttp.responseBody;
}catch(e){return null}
}
function Bytes2bStr(vin){
try{
 var BytesStream,StringReturn;
 BytesStream = Server.CreateObject("ADODB.Stream")
 with(BytesStream){
  Type =2;
  Open();
  WriteText(vin);
  Position = 0 ;
  Charset = "GB2312";
  Position = 2;
  StringReturn = ReadText();
  close();
 }
 BytesStream = null
 return StringReturn;
}catch(e){return ""}
}

相关文章:

网页数据采集HTTP Get,Post登录提交数据--VBS之Microsoft.XMLHTTP对象

MSXML中提供了Microsoft.XMLHTTP对象&#xff0c;能够完成从数据包到Request对象的转换以及发送任务。 创建XMLHTTP对象的语句如下&#xff1a; Set objXML CreateObject("Msxml2.XMLHTTP") 或 Set objXML CreateObject(“Microsoft.XMLHTTP”) Or, for version 3…...

强化科技创新“辐射力”,中国移动的数智化大棋局

作者 | 曾响铃 文 | 响铃说 丝滑流畅的5G连接、每时每刻的数字生活服务、无处不在的智能终端、拟人交流的AI助手、梦幻般的XR虚拟现实、直接感受的裸眼3D…… 不知不觉&#xff0c;那个科幻片中的世界&#xff0c;越来越近。 数智化新世界的“气氛”&#xff0c;由一个个具…...

喜报 | 擎创科技实力亮相2023科创会并荣获科技创新奖

近日&#xff0c;由国家互联网数据中心产业技术创新战略联盟&#xff08;NIISA&#xff09;主办的“2023第二届国际互联网产业科技创新大会暨互联网创新产品展览会”于北京圆满落幕。 擎创科技副总裁冯陈湧受邀出席本次论坛&#xff0c;并发表了“银行分布式核心智能运维体系思…...

vue3学习(九)--- keep-alive缓存组件

有时候我们不希望组件被重新渲染影响使用体验&#xff1b;或者处于性能考虑&#xff0c;避免多次重复渲染降低性能。而是希望组件可以缓存下来,维持当前的状态。这时候就需要用到keep-alive组件。 keep-alive有两个独有的生命周期&#xff1a;activated、 deactivated 接下来看…...

用servlet实现一个简单的猜数字游戏。

需要两个页面&#xff0c;一个jsp页面&#xff08;guess.jsp&#xff09;和servlet页面&#xff08;servlet&#xff09;。 一.jsp页面 在jsp页面中需要实现&#xff1a; 1.创建随机数并且保存在session中。 2.做个form表单提交猜的数字给servlet页面。 <%page import&…...

前端取消请求

取消请求 发送一个异步请求获取数据&#xff0c;并在控制台中打印出返回结果。这里使用了 fetch 方法来发送请求&#xff0c;同时使用 AbortController 对象来实现请求的取消操作。 具体来说&#xff0c;代码中定义了一个 list 函数&#xff0c;该函数会创建一个 AbortContro…...

关于6轴球腕机械臂的肩部奇异描述纠正

对于常见的球腕6轴机械臂构型&#xff0c;在大多数资料中奇异点描述如下&#xff1a; 肩部奇异点&#xff08;Shoulder singularity&#xff09;&#xff1a; 肩部奇异点是在机器人手腕的中心与J1轴关节在同一条直线上时发生。这种情况下&#xff0c;会导致关节轴1和4试图瞬间旋…...

Python —— hou.Node class

Houdini内所有节点&#xff08;Object、SOP、COP等&#xff09;的基类&#xff0c;该类的实例对应houdini内的节点&#xff1b; 每个节点都有一个唯一的路径&#xff08;定义其在节点树内的位置&#xff09;&#xff1b;节点路径层次结构类似于文件系统中的文件和文件夹的层次结…...

MATLAB——RBF、GRNN和PNN神经网络案例参考程序

欢迎关注“电击小子程高兴的MATLAB小屋” %————RBF程序实例 %% I. 清空环境变量 clear all clc %% II. 训练集/测试集产生 %% % 1. 导入数据 load spectra_data.mat %% % 2. 随机产生训练集和测试集 temp randperm(size(NIR,1)); % 训练集——50个样本 P_train NIR(t…...

E138: Can‘t write viminfo file

E138: Can’t write viminfo file /home/xxx/.viminfo! 原因 进入/home/xxx/目录下&#xff0c;用ls -a你会发现有很多.viminfa.tmp - .viminfz.tmp 这种的临时文件&#xff0c;这是因为使用vim编辑器时&#xff0c;如果编辑器没有正常退出就会生成一个暂存文件&#xff0c;…...

Compose Canvas基础(2) 图形转换

Compose Canvas基础&#xff08;2&#xff09;图形转换 前言平移 translate缩放 scale旋转 rotate自定义绘图区域及绘制内边距inset组合转换 withTransform完整代码总结 上一篇文章 Compose Canvas基础&#xff08;1&#xff09; drawxxx方法 前言 阅读本文需要一定compose基…...

【计算机网络笔记】分组交换中的报文交付时间计算例题

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 系列文章目录题目解答 题目 在下图所示的采用“存储-转发”方式的分组交换网络中所有链路的数据传输速率为100 Mbps&#xff0c;分…...

JVS-rules规则引擎,解决大数据风控的自动化决策利器

规则引擎中的评分卡节点是一种用于评估客户信用、风险等级或其他指标的重要工具。它通常用于金融、信贷等领域&#xff0c;以便根据一系列预定义的规则和权重来对客户进行评分。以下是评分卡节点的主要功能、作用以及配置方式的介绍&#xff1a; 功能和作用&#xff1a; 评估…...

dvaJs在react 项目中的简单使用

官网&#xff1a;入门课 | DvaJS 备注&#xff1a;个人学习 代码示例&#xff1a; getColumns.js const getColumns [{title: 姓名, // 列标题dataIndex: name, // 数据字段名称&#xff0c;与数据中的字段名对应key: name, // 列的唯一键},{title: 年龄, // 列标题dataIn…...

如何将las数据转换为osgb数据?

答&#xff1a;如果是需要用点云建模可使用重建大师。如果只是想转换格式可以使用网格大师的点云转osgb工具。 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件&#xff0c;输入倾斜照片&#xff0c;激光点云&#xff0c;POS信息及像控点&#xff0c;输出…...

创新与重塑,佛塑科技打造集团型 CRM 建设标杆

“十四五”时期是我国全面建成小康社会、实现第一个百年奋斗目标之后&#xff0c;乘势而上开启全面建设社会主义现代化国家新征程、向第二个百年奋斗目标进军的第一个五年。 在政府有序推进“十四五”规划的进程中&#xff0c;佛山佛塑科技集团股份有限公司&#xff08;证券简…...

STM32CUBEMX_DMA串口空闲中断接收+接收发送缓冲区

STM32CUBEMX_DMA串口空闲中断接收接收发送缓冲区 前言&#xff1a; 我了解的串口接收指令的方式有&#xff1a;在这里插入图片描述 1、接收数据中断特定帧尾 2、接收数据中断空闲中断 3、DMA接收空闲中断 我最推荐第三种&#xff0c;尤其是数据量比较大且频繁的时候 串口配置 …...

酸蚀刻对钛医药材料纳米形态表面特性及活化能的影响

引言 由于商业纯钛(CP Ti)具有抗腐蚀性&#xff0c;并且具有合适的机械性能以及生物相容性&#xff0c;因此&#xff0c;目前一直被用作牙科植入材料。为了在临床手术中获得高水平的成功&#xff0c;CP Ti的表面质量和形貌是影响植入手术结果的比较关键的因素之一&#xff0c;…...

iOS代码混淆工具推荐:IPA Guard详细介绍

iOS代码混淆工具推荐&#xff1a;IPA Guard详细介绍 目录 摘要&#xff1a; 引言 正文 1. IPA Guard概述 2. IPA Guard的功能特性 3. IPA Guard的混淆模式 4. 支持的语言 5. 使用场景 总结 参考资料 总结 参考资料 摘要&#xff1a; 了解并选择合适的iOS代码混淆工…...

Vue检测数据的原理

Vue能够对用户的数据进行响应式&#xff0c;也就是你在data中写了什么&#xff0c;你在模板中用到data的部分就会渲染成什么&#xff0c;那么Vue是怎么知道用户修改了data中的数据变化并对模板重新进行解析的呢&#xff1f; 在Vue将数据存储为自身的_data之前&#xff0c;Vue会…...

智能网联汽车窄路车流预测与协同通行【附仿真】

✨ 长期致力于智能网联汽车、窄路段、短时车流量预测、协同通行研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;窄路车流时空异质图特征构建&#xff…...

超越官方Demo:如何用COCO预训练权重快速微调Mask R-CNN处理你的自定义数据

超越官方Demo&#xff1a;如何用COCO预训练权重快速微调Mask R-CNN处理你的自定义数据 当你在工业质检、医疗影像分析或遥感图像处理中遇到需要精确目标分割的场景时&#xff0c;从头训练一个Mask R-CNN模型无疑是奢侈的。COCO数据集预训练权重就像一位经验丰富的"视觉专家…...

5个简单步骤:用DXVK在Linux上流畅运行Windows游戏

5个简单步骤&#xff1a;用DXVK在Linux上流畅运行Windows游戏 【免费下载链接】dxvk Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine 项目地址: https://gitcode.com/gh_mirrors/dx/dxvk 你是否曾经想在Linux系统上玩Windows游戏&#xff0c;却被…...

实测好用、真正免费(无水印/无强制付费) 的剪辑软件合集来啦

剪辑小白看过来&#xff01;2026年实测好用、真正免费&#xff08;无水印/无强制付费&#xff09; 的剪辑软件合集来啦&#xff01;????不管你是学生党、自媒体新人&#xff0c;还是电脑配置不高&#xff0c;这篇笔记帮你按设备&#xff08;手机/电脑/网页&#xff09; 精准…...

Sora提示词失效警告!:Instagram Reels专属Prompt架构(含12个平台敏感词规避指令+ASMR音画同步触发词库)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Sora提示词失效的底层归因与Instagram Reels内容生态断层分析 提示词语义坍缩现象 Sora模型在生成短视频时&#xff0c;对自然语言提示词的响应呈现显著退化&#xff1a;同一提示词&#xff08;如“su…...

Perfmon性能计数器深度解析:从指标选取到瓶颈定位实战

1. Perfmon性能计数器入门&#xff1a;为什么它是Windows运维的瑞士军刀 第一次接触Perfmon&#xff08;Performance Monitor&#xff09;是在十年前处理一台频繁卡顿的数据库服务器时。当时我尝试了各种工具都找不到问题根源&#xff0c;直到一位老工程师教我打开了这个Window…...

告别开发板:用QEMU+STM32虚拟环境,零成本开启你的ARM Cortex-M汇编学习之旅

零成本构建ARM Cortex-M开发环境&#xff1a;QEMU模拟STM32实战指南 为什么选择虚拟化环境学习嵌入式开发&#xff1f; 记得第一次接触嵌入式开发时&#xff0c;面对琳琅满目的开发板和动辄上千元的调试器&#xff0c;作为学生的我一度望而却步。直到发现了QEMU这个开源神器&…...

SoC早期流片策略:风险控制与工程实践深度解析

1. 早期流片的风险与回报&#xff1a;一次深度权衡在系统级芯片开发这个行当里干了十几年&#xff0c;验证始终是悬在每个项目团队头顶的达摩克利斯之剑。面对动辄数亿门级、集成数十个异构核心的复杂SoC&#xff0c;想要在流片前达到“万无一失”的验证覆盖率&#xff0c;所需…...

ANSYS Workbench网格进阶:巧用‘Face Meshing’与‘Sweep’扫掠,让你的轴承座仿真既快又准

ANSYS Workbench网格进阶&#xff1a;巧用‘Face Meshing’与‘Sweep’扫掠提升轴承座仿真效率 轴承座作为机械传动系统中的关键部件&#xff0c;其应力分布与变形分析的准确性直接影响设备可靠性评估。传统四面体网格虽能快速生成&#xff0c;但在应力集中区域往往需要极高密度…...

19 - 语言模型为何是AGI的开端?——从“知识压缩”到“智能涌现”的第一性原理

本专题系列文章共 21 篇,前 5 篇限时免费阅读 01 - 眩晕时代的定海神针:大模型落地的“第一性原理”与算力丰裕悖论 02 - 95%的AI投资打了水漂:五大错配如何扼杀你的“第二增长曲线” 03 - 从电力到AI:标准化已死,个性化永生——大模型时代的三大商业终局 04 - 你的护城…...