VB 脚本无法调用网站:出现 404 错误
VB script unable to call a web site : Getting 404 error
我有一个非常简单的 VB 脚本代码,我试图通过它访问一个更新服务器端某些表的网站。每当我 运行 VB 脚本时,我都会收到 IIS 7.5 详细错误 - 404.0。我的网站完全可以访问。我可以从当前机器和其他机器上浏览它。我在安装网站的同一台机器上 运行ning VB 脚本。我还尝试了 运行 在管理员模式下从命令提示符运行脚本,但这也无济于事。这是我的 vb 脚本:
sUrl = "http://<mymachineName>/mywebsite/api/machines/AssignMachineToRuleSet?domain=myDomainName&machinename=Machine03&ruleSetName=Engineering"
HTTPPost sUrl
Function HTTPPost(sUrl)
set oHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
oHTTP.open "GET", sUrl, false, "<DomainName>\Administrator", "Passw0rd"
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHTTP.setRequestHeader "Content-Length", Len(sRequest)
oHTTP.send
response = oHTTP.responseText
Wscript.Echo response
End Function
我也尝试将 "MSXML2.ServerXMLHTTP.6.0" 的版本更改为 MSXML2.XMLHTTP 和 MSXML2.XMLHTTP.3.0,但都给出了非常相同的错误。我的网站是用 ASP.Net MVC 编写的。它托管在 IIS 中。网站的应用程序池 运行ning 位于网络服务帐户下,该帐户是一个内置的 NT Authority 帐户。我尝试捕获通过 fiddler 发送到 IIS 的请求,但它没有显示任何请求。
真的很抱歉打扰大家。这是我的错误。实际上在 URL http://<mymachineName>/mywebsite/api/machines/AssignMachineToRuleSet?domain=myDomainName&machinename=Machine03&ruleSetName=Engineering
中我给的网站名称不正确。不知何故,该网站对应的磁盘目录名称与IIS中创建的虚拟目录名称不同。我试图使用在磁盘上找到的目录名称来调用该网站。我实际上应该在创建网站时使用 IIS 中分配的虚拟目录名称。当我将 URL 更改为指向与网站对应的虚拟目录时,它就起作用了。虚拟目录的名称是 myweb
而不是 mywebsite
。 VB 脚本没有错误。
我有一个非常简单的 VB 脚本代码,我试图通过它访问一个更新服务器端某些表的网站。每当我 运行 VB 脚本时,我都会收到 IIS 7.5 详细错误 - 404.0。我的网站完全可以访问。我可以从当前机器和其他机器上浏览它。我在安装网站的同一台机器上 运行ning VB 脚本。我还尝试了 运行 在管理员模式下从命令提示符运行脚本,但这也无济于事。这是我的 vb 脚本:
sUrl = "http://<mymachineName>/mywebsite/api/machines/AssignMachineToRuleSet?domain=myDomainName&machinename=Machine03&ruleSetName=Engineering"
HTTPPost sUrl
Function HTTPPost(sUrl)
set oHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
oHTTP.open "GET", sUrl, false, "<DomainName>\Administrator", "Passw0rd"
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHTTP.setRequestHeader "Content-Length", Len(sRequest)
oHTTP.send
response = oHTTP.responseText
Wscript.Echo response
End Function
我也尝试将 "MSXML2.ServerXMLHTTP.6.0" 的版本更改为 MSXML2.XMLHTTP 和 MSXML2.XMLHTTP.3.0,但都给出了非常相同的错误。我的网站是用 ASP.Net MVC 编写的。它托管在 IIS 中。网站的应用程序池 运行ning 位于网络服务帐户下,该帐户是一个内置的 NT Authority 帐户。我尝试捕获通过 fiddler 发送到 IIS 的请求,但它没有显示任何请求。
真的很抱歉打扰大家。这是我的错误。实际上在 URL http://<mymachineName>/mywebsite/api/machines/AssignMachineToRuleSet?domain=myDomainName&machinename=Machine03&ruleSetName=Engineering
中我给的网站名称不正确。不知何故,该网站对应的磁盘目录名称与IIS中创建的虚拟目录名称不同。我试图使用在磁盘上找到的目录名称来调用该网站。我实际上应该在创建网站时使用 IIS 中分配的虚拟目录名称。当我将 URL 更改为指向与网站对应的虚拟目录时,它就起作用了。虚拟目录的名称是 myweb
而不是 mywebsite
。 VB 脚本没有错误。