zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python 爬虫 NO.4 HTTP 响应状态码

2023-06-13 09:11:14 时间

1. HTTP 响应状态码

响应状态码,即 Response Status Code,表示服务器的响应状态,如 200 代表服务器正常响应,404 代表页面未找到,500 代表服务器内部发生错误。在爬虫中,我们可以根据状态码来判断服务器响应状态,如状态码为 200,则证明成功返回数据,再进行进一步的处理,否则直接忽略。下表列出了常见的错误代码及错误原因。

2. 常见的 HTTP 状态码

  1. 200 - 请求成功
  2. 301 - 资源(网页等)被永久转移到其它URL
  3. 404 - 请求的资源(网页等)不存在
  4. 500 - 内部服务器错误

3. HTTP 状态码分类

HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599):

分类

分类描述

1**

信息,服务器收到请求,需要请求者继续执行操作

2**

成功,操作被成功接收并处理

3**

重定向,需要进一步的操作以完成请求

4**

客户端错误,请求包含语法错误或无法完成请求

5**

服务器错误,服务器在处理请求的过程中发生了错误

4. HTTP状态码列表

状态码

说明

详情

100

继续

请求者应当继续提出请求。服务器已收到请求的一部分,正在等待其余部分

101

切换协议

请求者已要求服务器切换协议,服务器已确认并准备切换

200

成功

服务器已成功处理了请求

201

已创建

请求成功并且服务器创建了新的资源

202

已接受

服务器已接受请求,但尚未处理

203

非授权信息

服务器已成功处理了请求,但返回的信息可能来自另一个源

204

无内容

服务器成功处理了请求,但没有返回任何内容

205

重置内容

服务器成功处理了请求,内容被重置

206

部分内容

服务器成功处理了部分请求

300

多种选择

请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择

301

永久移动

请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替

302

临时移动

与301类似。但资源只是临时被移动。客户端应继续使用原有URI

303

查看其它地址

与301类似。使用GET和POST请求查看

304

未修改

所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源

305

使用代理

所请求的资源必须通过代理访问

306

已经被废弃的HTTP状态码

307

临时重定向

与302类似。使用GET请求重定向

400

错误请求

服务器无法解析该请求

401

未授权

请求没有进行身份验证或验证未通过

402

保留,将来使用

403

禁止访问

服务器拒绝此请求

404

未找到

服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面

405

方法禁用

服务器禁用了请求中指定的方法

406

不接受

无法使用请求的内容响应请求的网页

407

需要代理授权

请求者需要使用代理授权

408

请求超时

服务器请求超时

409

冲突

服务器在完成请求时发生冲突

410

已删除

请求的资源已永久删除

411

需要有效长度

服务器不接受不含有效内容长度标头字段的请求

412

未满足前提条件

服务器未满足请求者在请求中设置的其中一个前提条件

413

请求实体过大

请求实体过大,超出服务器的处理能力

414

请求 URI 过长

请求网址过长,服务器无法处理

415

不支持类型

请求格式不被请求页面支持

416

请求范围不符

页面无法提供请求的范围

417

未满足期望值

服务器未满足期望请求标头字段的要求

500

服务器内部错误

服务器内部错误,无法完成请求

501

未实现

服务器不支持请求的功能,无法完成请求

502

错误网关

作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应

503

服务不可用

由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中

504

网关超时

充当网关或代理的服务器,未及时从远端服务器获取请求

505

HTTP 版本不支持

服务器不支持请求的HTTP协议的版本,无法完成处理