我正在尝试维护一段Visual Basic 6软件,该软件的编写是为了帮助加快某个部门的文本格式化工作。我不是一个计算机工程师/科学家,但这个软件属于我的管辖范围,因为它是由我被雇用来取代的绅士写的。
此工具用于在短时间内格式化大量数据,以消除手动格式化。
似乎是传递给程序用户指定的URL的WinHttpRequest大部分都在工作。但是,当调用ResponseBody属性时,不会抓取编写的软件所期望的信息。我不确定之前如何在URL页面上托管数据,但是当通过Web浏览器检查有问题的URL的页面源时,预期要检索的数据是可见的,但似乎是热链接的来自不同的URL /位置。但是当WinHttpReq.ResponseBody在本地生成并转储到文件中时,会传递预期和需要的信息。
看起来它正在传递数据,因为数据是通过原始URL上的单独热链接引用的。我的问题是,在检查页面源时检索可见数据的最简单方法是什么,但在ResponseBody函数调用中没有检索到。 ResponseBody调用似乎也将热链接URL放到初始HTTP请求URL中,但我认为用于构建热链接的信息和ID存储在数据中。
' Create an array to hold the response data.
Dim d() As Byte
' Assemble an HTTP request.
WinHttpReq.Open "GET", ap_feedreq, False
' Set the user name and password.
WinHttpReq.SetCredentials ap_user, ap_pass, _
HTTPREQUEST_SETCREDENTIALS_FOR_SERVER
' Send the HTTP Request.
WinHttpReq.Send
' Display the response headers.
' MsgBox WinHttpReq.GetAllResponseHeaders & " " & WinHttpReq.ResponseText
If WinHttpReq.status = 200 Then
webwire1.StatusBar1.Panels(1).Text = "Authentication Complete .....
Parsing XML File"
webwire1.StatusBar1.Refresh
docpath1$ = mydocpath + "aptemp.txt"
Open docpath1$ For Binary As #1
d() = WinHttpReq.ResponseBody
Put #1, 1, d()
Close #1
这是一张图片,展示了我所看到的,希望能更好地展示我所指的内容。
Feed Body Comparison Browser vs. Local Data
在软件中编写的解析函数查找“nitf version =”标志,以便知道何时找到要用于格式化的统计数据/表。
我的问题是,是否有一个更简单,更优雅的解决方案,可以在Web浏览器中一次性显示所有网页源数据?或者我是否必须拉动响应正文,解析正文,使用变量构建URL,传递更多单个页面URL请求,存储该文本,解析该数据,然后将解析后的数据加载回原始正文数据?
我想尽可能少地更改编写的软件。
答案 0 :(得分:0)