Web Services 我如何模拟一个'关闭'网站?

js5cn81o  于 2022-11-15  发布在  其他
关注(0)|答案(6)|浏览(102)

我正在编写一些故障转移代码,以便在桌面应用程序无法连接到其网站时,它可以尝试备份网站。
然而,我似乎不知道如何模拟一个测试,如果一个网站是“关闭”或没有。如果我尝试一个明显不正确的网址,如“http://www.mybadsite.badTLD“,我的ISP提供商送我到一个默认的捕获页。
而当一个网站真的关闭了,你无法连接到它,你会得到浏览器消息说它无法连接。这就是我需要模拟的。
谢谢

juzqafwq

juzqafwq1#

编辑主机文件,重新定义要连接的主机。可以使用127.0.0.2(或任何无法连接的主机)。
你也可以用www.example.com做一个测试0.0.0.0--它返回一个不同的错误(无效的IP)。
您的ISP因DNS查找失败而进行重定向,但您的主机文件解决的任何问题都会使该问题短路。

qyyhg6bp

qyyhg6bp2#

为了测试脚本如何处理不同的响应,我宁愿使用一个生成不同HTTP代码的特殊服务器。
在您的情况下,正确的http状态代码为503(服务不可用)。
状态代码503表示由于临时过载或计划维护,服务器当前无法处理请求
这在一些延迟之后将可能减轻。
有关http状态代码的更多信息,我建议阅读此IETS文档

h7wcgrx3

h7wcgrx33#

http://localhost

假设您没有在本地运行服务器...

xriantvc

xriantvc4#

在2020年偶然发现了这一点,我发现:
https://www.mocky.io/
https://httpstat.us/

n53p2ov0

n53p2ov05#

如果服务器运行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);

`
下面是一些示例。许多服务器语言都有向浏览器传递头文件的方法。请查看下面的错误代码:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

kqhtkvqz

kqhtkvqz6#

我使用此Web服务的方式如下:

curl -v http://httpstat.us/<http status code>

例如:

curl -v http://httpstat.us/503

其结果是:

> GET /503 HTTP/1.1
> Host: httpstat.us
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 503 Service Unavailable
...

相关问题