zoukankan      html  css  js  c++  java
  • python-requests

    requests

    需求:发送http/https协议的网络请求。

    重点:准备请求数据,发送请求数据,获取响应数据,处理响应数据。

    一、介绍

      requests是python内置库。不用安装,import requests即可使用。功能强大,简单易用。

      requests.get('url')即可完成http-get-request

      应用:爬虫,接口测试等

    二、请求

    1.发送http请求

    1. requests.request(method="get",url="http://xxx.xxx.xx.xx:8000")
    2. requests.get(url="http://xxx.xxx.xx.xx:8000")
    3. (requests.Session()).get(url="http://xxx.xxx.xx.xx:8000")

      这三种方法都能实现发送http请求。通过Session对象,发送http请求可以实现自动保持会话,身份验证通过后,请求不带headers参数也可以完成身份验证。

    2.请求方法和参数

      常见的请求方法:get,post,put,delet

      requests.request()方法的参数:

      1. 必选:method,url
      2. 可选:params,data,json,headers,cookies,files等

      说明:

      1. get请求带urlencoding参数可以使用dict传入params参数,进行http请求报文组装;
      2. post请求,数据传入data参数默认以urlencoding组装请求,数据传入json参数默认以json组装请求;
      3. headers参数带authorization,jsession可以进行身份验证

      补充:

        params,data,json三个参数的区别。params以urlencoding类型传输,data以form类型传输,json以json类型传输

    三、响应

      一个请求对应一个响应。requests将接收的request参数组装成请求报文,发送给服务器,requests会返回一个response对象。

    1.response对象的方法

    1. headers:获取响应头/dict
    2. json():响应body-json,以dict接收响应body
    3. text:以text/str数据类型接收响应body
    4. content:二进制形式接收响应body
    5. status_code:获取响应code

    2.其它

      请求中的timeout参数:限定请求等待响应超时时间。

      反爬请求限制。

      响应数据提取目标数据。re,jsonpath,dict(response.json()).get()。

      请求类二次封装。

    四、requests/__init__.py

    exceptions模块的异常类,可以更准确的进行异常处理。

    1. 请求参数

    请求参数分为三部分

    2. 发送请求

    1. 调用 requesets.api 模块的 request,get,post,delete,put,options等函数发送请求。
    2. 实例化 requests.sessions 的 Session 类。调用 session 对象的 request,get,post等方法发送请求。
    3. requests.sessions 的 session 函数返回的是一个 Session() 对象。
    4. 发送请求,返回的是一个 Response 对象

    3. 响应对象的属性和方法

     

    1. content,text/str,json/dict:获取响应body,不同的响应content type支持的获取方式不同。
    2. status_code:响应状态码,通常非200响应码返回的body都是无意义的。
    3. headers:响应头,包含content type,可以通过content type来判断收集response boy的方式。
    4. cookies:响应cookies,支持cookies的系统可以从cookies中获取jsession id进行身份认证。
    5. request:响应对应的请求。是requests最终发出的request。
    6. elapse:response的时间
  • 相关阅读:
    程序打包(通过VS2015插件 InstallShield2015 Limited Edition 方式)
    QSS单独设置四个边角
    Qt 设置窗口圆角
    Qt实现鼠标拖动窗口
    关于split切割的几种情况
    java开发过程中,报错Dangling meta character '*' near index 0,解决办法
    关于ArrayList的contains方法
    WPS文档按回车键不能换行怎么解决
    正则表达式截取数字
    如何用hibernate中查询出一个表数量总数
  • 原文地址:https://www.cnblogs.com/bonus_scene/p/13630140.html
Copyright © 2011-2022 走看看