我正在编写一些故障转移代码,以便如果我的桌面应用无法连接到其网站,则可以尝试备份网站。
但是,如果网站“关闭”,我似乎无法弄清楚如何模拟测试。如果我尝试一个非常不正确的URL,例如“http://www.mybadsite.badTLD”,我的ISP提供商会将我发送到默认的catch页面。
当网站真正关闭但您无法连接到该网站时,您会收到浏览器消息,指出无法连接。这就是我需要模仿的东西。
由于
答案 0 :(得分:7)
修改您的hosts file以重新定义您尝试连接的主机。您可以执行127.0.0.2(或任何无法访问的内容)。
您还可以使用0.0.0.0进行测试 - 返回不同的错误(无效的IP)。测试也可能有一些好处。
您的ISP正在重定向以查找DNS查找失败,但主机文件解决的任何内容都会使其短路。
答案 1 :(得分:4)
为了测试脚本如何处理不同的响应,我宁愿使用生成不同HTTP代码的特殊服务器。其中一个是httpstat.us
在您的情况下,正确的http状态代码为503(服务不可用)。
经过一段时间的延迟,这可能会得到缓解。503状态代码表示由于临时过载或定期维护,服务器当前无法处理请求
有关http状态代码的详细信息,建议您阅读This IETS Documentation
答案 2 :(得分:2)
http://localhost
假设您没有本地运行的服务器......
答案 3 :(得分:1)
如果您有运行PHP的服务器,则可以使用header()函数将HTTP错误代码的标头发送回应用程序。
header("HTTP/1.0 404: Not Found", true, 404);
要么
header("HTTP/1.0 403: Forbidden", true, 403);
要么
header("HTTP/1.0 500: Internal Server Error", true, 500);
这些是一些例子。许多服务器语言都有将标头传递给浏览器的方法。检查一下是否有更多错误代码:
答案 4 :(得分:1)