这有点在我的区域之外,所以想要一些建议。我们在win 2008R2服务器上内部运行一个进程,该服务器每小时通过Windows计划任务(WST)触发。 WST运行.bat文件,该文件调用.vbs文件。此文件连接到公共Web服务,它遍历XML并在内部将其插入数据库。完成工作。
当我构建这个过程时,它无法读取XML,没有错误,它只是无法读取XML,就像没有什么可读的。但是如果直接点击URL,它将按预期返回XML(注意 - 从内部到外部的所有流量都通过代理进行。)。所以我将它放在一个公共服务器上,它的工作原理没有任何问题。所以我们想让防火墙团队创建一个IP转发器规则。最终我们会收到有关该规则的通知。他们的最后一条指令是将URL / IP添加到主机文件中。在我这样做之前,我想再次运行代码,现在它的工作原理。我想知道为什么?
防火墙人声称这个.vbs代码实际上是通过代理服务器进行的。我想知道是什么改变了,如果是这样的话,为什么我第一次尝试时它不起作用?我们的win 2008R2服务器上没有任何改变,也没有改变.vbs代码。 .vbs代码如何找到代理呢?以下是vbs文件中的相关代码:
Set objxml = CreateObject("Msxml2.DOMDocument")
objxml.setProperty "SelectionLanguage", "XPath"
objXML.async = False
objXML.Load url
以下是来自防火墙人员的日志摘录:
[21/Oct/2015:00:16:04 +0000] "" 172.21.64.135 54.206.112.125 407 "GET http://aURLHere.com.au/?lt=aploc&lf=BAYER-CAN&locdet=2&locdet=1&pdf=twc(period=1,point_interval=1,detail=2)&u=13628-1720&k=35a4c2eb6c1b938f388b3ac9124ae85d HTTP/1.1" "" "-" "" 5667 "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET4.0C; .NET4.0E; .NET CLR 3.5.30729; .NET CLR 3.0.30729)" "" "0" 491 "AUTHENTICATION" [21/Oct/2015:00:16:04 +0000] "" 172.21.64.135 54.206.112.125 407 "GET http://aURLHere.com.au/?lt=aploc&lf=BAYER-CAN&locdet=2&locdet=1&pdf=twc(period=1,point_interval=1,detail=2)&u=13628-1720&k=35a4c2eb6c1b938f388b3ac9124ae85d HTTP/1.1" "" "-" "" 5678 "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET4.0C; .NET4.0E; .NET CLR 3.5.30729; .NET CLR 3.0.30729)" "" "0" 575 "AUTHENTICATION"
我想解释一下。此代码有太多灰色区域可用于生产。关键任务应用程序依赖于此代码每小时点击一次Web服务。
编辑:
以下评论中的链接和:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa384075(v=vs.85).aspx
确实解释了它。说实话非常复杂。关于此研究的关键术语是WinINet和WinHTTP