从 Delphi 10.3 中的 TWebBrowser OnNavigateError 中提取 StatusCode

Extracting StatusCode from TWebBrowser OnNavigateError in Delphi 10.3

我试图在 TWebBrowser 的 OnNavigateError 事件中获取 HTTP 响应代码。传递给我的 StatusCode 始终是 -2146697211,而它应该是 404。我错过了什么?我正在使用 Delphi 10.3.

为什么这是一个单独的错误代码而不是 HTTP 错误代码?因为它发生在执行 HTTP 之前:查找主机名的 IP 地址失败 - 没有人知道您尝试浏览的主机名具有哪个 IP 地址。这就是 Domain Name System (DNS) 的用途。无法与服务器联系与能够并获得响应是两码事。 HTTP 404 是一个回应。但是由于您甚至没有得到响应,因此您无法获得 HTTP 状态代码。


长话短说:找不到主机(而不是“HTTP 404”= 找到主机,但不是您要查找的页面).尝试使用可以实际解析的 address/a 主机名。