我正在编写一些故障转移代码,以便在桌面应用程序无法连接到其网站时,它可以尝试备份网站。
然而,我似乎不知道如何模拟一个测试,如果一个网站是“关闭”或没有。如果我尝试一个明显不正确的网址,如“http://www.mybadsite.badTLD“,我的ISP提供商送我到一个默认的捕获页。
而当一个网站真的关闭了,你无法连接到它,你会得到浏览器消息说它无法连接。这就是我需要模拟的。
谢谢
我正在编写一些故障转移代码,以便在桌面应用程序无法连接到其网站时,它可以尝试备份网站。
然而,我似乎不知道如何模拟一个测试,如果一个网站是“关闭”或没有。如果我尝试一个明显不正确的网址,如“http://www.mybadsite.badTLD“,我的ISP提供商送我到一个默认的捕获页。
而当一个网站真的关闭了,你无法连接到它,你会得到浏览器消息说它无法连接。这就是我需要模拟的。
谢谢
6条答案
按热度按时间juzqafwq1#
编辑主机文件,重新定义要连接的主机。可以使用127.0.0.2(或任何无法连接的主机)。
你也可以用www.example.com做一个测试0.0.0.0--它返回一个不同的错误(无效的IP)。
您的ISP因DNS查找失败而进行重定向,但您的主机文件解决的任何问题都会使该问题短路。
qyyhg6bp2#
为了测试脚本如何处理不同的响应,我宁愿使用一个生成不同HTTP代码的特殊服务器。
在您的情况下,正确的http状态代码为503(服务不可用)。
状态代码503表示由于临时过载或计划维护,服务器当前无法处理请求
这在一些延迟之后将可能减轻。
有关http状态代码的更多信息,我建议阅读此IETS文档
h7wcgrx33#
假设您没有在本地运行服务器...
xriantvc4#
在2020年偶然发现了这一点,我发现:
https://www.mocky.io/
https://httpstat.us/
n53p2ov05#
如果服务器运行PHP,则可以使用header()函数将HTTP错误代码的头发送回应用程序。``
或`
或
`
下面是一些示例。许多服务器语言都有向浏览器传递头文件的方法。请查看下面的错误代码:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
kqhtkvqz6#
我使用此Web服务的方式如下:
例如:
其结果是: