jam*_*ley 2 msxml http xmlhttprequest asp-classic
在此先感谢您收到的任何帮助。
我想让我们的客户在文本字段中输入一个 URL,然后检查该 URL 是否存在并有效。
我想检查 3 种可能的结果:状态 200 - 正常,状态 500 - 服务器错误,或状态 404 - 找不到页面。
在 ASP 经典中执行以下代码时,我得到 12007 的状态代码,而我应该得到 404。这是因为它找不到返回 404 代码的网络服务器吗?
Function CheckURL(vURL)
ON ERROR RESUME NEXT
Set oXML=Server.CreateObject("MSXML2.XMLHTTP") : oXML.Open "POST",vURL,false : oXML.Send()
CheckURL = oXML.status
Set oXML = nothing
End Function
Run Code Online (Sandbox Code Playgroud)
或者这里有什么地方不对劲。除了上述标准之外,我还可能看到哪些状态代码。
12007 是 Windows HTTP 错误,这意味着名称尚未解析。如果无法将主机名解析为 IP 地址或无法建立到该 IP 地址的连接,则您将无法获得 200、404、500 或任何此类信息。在这些情况下,您将获得 12000 秒范围内的错误代码,它们不是 HTTP 状态代码,而是 Windows 异常编号。
有关这些例外编号的列表,请参阅此列表。
顺便说一句,XMLHTTP 不是在 ASP 中使用的安全项目对象。另外你为什么使用POST?这是我将使用的代码:-
Function CheckURL(vURL)
On Error Resume Next
Set xhr = CreateObject("MSXML2.ServerXMLHTTP.3.0")
xhr.Open "HEAD", vURL, false
xhr.Send
CheckURL = xhr.status
End Function
Run Code Online (Sandbox Code Playgroud)
使用 HEAD 允许您测试 URL,而无需实际下载潜在的大型实体主体。
| 归档时间: |
|
| 查看次数: |
6645 次 |
| 最近记录: |