您现在的位置是:网站首页 > 博客日记 >

requests库详解

作者:YXN-python 阅读量:145 发布日期:2023-11-24

1、HTTP

超文本传输协议,简称:HTTP。HTTP是一个基于“请求与响应”模式的、无状态的应用层协议,采用URL作为定位网络资源的标识。URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。

  • URL格式:http://host[:port][path]
  • host:合法的Internet主机域名或IP地址
  • port:端口号,缺省端口为80
  • path:请求资源的路径

HTTP协议对资源的操作方法说明

  • GET请求获取URL位置的资源
  • HEAD请求获取URL位置资源的响应消息报告,即获取该资源的头部信息
  • POST请求向URL位置的资源后附加新的数据
  • PUT请求向URL位置存储一个资源,覆盖原URL位置的资源
  • PATCH请求局部更新URL位置的资源,即改变该处资源的部分内容
  • DELETE请求删除URL位置存储的资源

2、requests库–方法说明

  • requests.request()构造一个请求,支撑以下各方法的基础方法
  • requests.get()获取HTML网页的主要方法,对应于HTTP的GET
  • requests.head()获取HTML网页头部信息的方法,对应于HTTP的HEAD
  • requests.post()向HTML网页提交POST请求的方法,对应于HTTP的POST
  • requests.put()向HTML网页提交PUT请求的方法,对应于HTTP的PUT
  • requests.patch()向HTML网页提交局部修改请求,对应于HTTP的PATCH
  • requests.delete()向HTML页面提交删除请求,对应于HTTP的DELETE

3、关于requests库的request方法详解

requests.request(method,url,**kwargs)

method:请求方式,有GET、HEAD、POST、PUT、PATCH、delete、OPTIONS等7种url:以获取页面的url链接

**kwargs:控制访问的参数,共13个

参数说明:

  • params ———#字典或字节序列,作为参数增加到url中
  • data ————#字典、字节序列或文件对象,作为Request的内容
  • jsonJSON ————# 格式的数据,作为Request的内容
  • headers ———— #字典,HTTP定制头
  • cookies ————#字典或CookieJar,Request中的cookie
  • auth ————#元组,支持HTTP认证功能
  • files ———— #字典类型,传输文件
  • timeout ————#设定超时时间,秒为单位
  • proxies ————字典类型,设定访问代理服务器,可以增加登录认证
  • allow_redirects ————#True/False,默认为True,重定向开关
  • stream ————#True/False默认为True,获取内容立即下载开关
  • verify ————#True/False,默认为True,认证SSL证书开关
  • cert ————#本地SSL证书路径

4、关于requests.session()会话保持的使用

详情参见:requests之高级用法:文件上传、Cookie设置、Session保持、SSL证书验证、超时设置、身份认证

5、Requests库的常见异常

  • requests.ConnectionError:网络连接错误异常,例如DNS查询失败、连接被拒绝等。
  • requests.HTTPError:HTTP错误异常,表示请求返回了不成功的状态码。
  • requests.URLRequired:URL缺失异常,当没有提供有效的URL时抛出。
  • requests.TooManyRedirects:超过最大重定向次数异常,当请求重定向次数超过设定的最大值时抛出。
  • requests.ConnectTimeout:连接远程服务器超时异常,当连接远程服务器的时间超过设定的超时时间时抛出。
  • requests.Timeout:请求URL超时异常,当请求URL的时间超过设定的超时时间时抛出。

YXN-python

2023-11-24