Til*_*ddy 10 webserver http http-status-code-404
HTTP 404 Not Found Error表示在服务器上找不到您尝试访问的网页.这是一个客户端错误,这意味着页面已被删除或移动,URL未相应更改,或者您在URL中输入错误
但后来我也用Python做网络应用程序测试,我想知道如果我只检查404
页面上的字符串,它可能不是一个404
错误.它可能发生在页面存在但标题404
只是为了欺骗我们.
那我怎么知道呢?
And*_*ers 55
您可以检查HTTP状态代码,看看它是否为404.状态代码位于响应的第一行:
HTTP/1.1 404 Not Found
Run Code Online (Sandbox Code Playgroud)
如果您使用HTTPlib,则只需读取对象的status
属性即可HTTPResponse
.
但是,服务器决定要发送什么HTTP状态代码.仅仅因为404定义为"未找到页面"并不意味着服务器不能骗你.做这样的事情是很常见的:
如果无法访问服务器,就无法知道窗帘背后的真实情况.
你是对的:有人可以在HTML页面中写"404 Page Not Found"并让你认为页面不存在.
为了正确识别HTTP状态代码(如404),您应该使用Python捕获HTTP响应并解析它.HTTP 1和HTTP 2标准规定HTTP响应(以HTTP通用消息格式编写)必须包含状态代码.
HTTP响应示例(来自Tutorials Point):
HTTP/1.1 404 Not Found
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Connection: Closed
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested URL /t.html was not found on this server.</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
你绝对不应该相信HTML部分,当实际可以找到页面时,它可以显示404错误(甚至是418我是茶壶).
归档时间: |
|
查看次数: |
2187 次 |
最近记录: |