zoukankan      html  css  js  c++  java
  • python学习之requests基础

      学习地址:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html#id2

      使用requests发送网络请求

    一、导入requests

      import requests

    二、请求

      r=requests.get("http://www.baidu.com")

      rpost=request.post("http://www.baidu.com",data={'key':value})

      其他请求模式类似

     

    详细说明

      1、在URL中使用查询字符串传递值,在URL中,数据会以键值对的形式置于URL中,跟在一个问号的后面,如:http://www.baidu.com?key=values,在requests中可以使用params关键字参数,以一个字符串字典来提供这些参数,如下:

      keyvalues={"key1":values1,"key2":values2}

      rget=requests.get("http://www.baidu.com",params=payload)

      请求地址为:http://www.baidu.com?key1=values1&key2=values2

      注意点:字典中的值为None时键也不会添加到URL的查询字符串中。

    三、响应

      在请求后,可以得到服务器的响应内容

      import requests

      rpost=requests.post("http://www.baidu.com")

      ---表示将请求的响应结果对象赋值给了repost这个变量,可以通过这个对象变量查看响应的各种信息。

      rpost.text:查看响应信息;

      rpost.encoding:查看编码;

      rpost.content:查看响应内容(字节方式);

      rpost.status_code:查看响应代码

      rpost.raise_for_status()

     

      requests内置了一个JSON解码器,可以已json格式查看响应数据。

    四、请求头

      如果需要添加http头部,只要简单地传递一个dictheaders参数就可以了。

     

      注意点:所有的header值必须是stringbytestringunicode。尽管传递unicode header也是允许的,但是不建议这样做。

    五、Cookie

    1、查看响应中的cookie

      responses.cookies

    2、传递cookie

     

    3cookie的返回对象是RequestsCookieJar

    六、重定向与请求历史

      可以使用响应对象的history方法来追踪重定向

      response.history

      可使用allow_redirects参数禁用重定向

    七、超时

      在requests请求时,应该设置timeout这个参数(单位为:秒),表示等待多少秒后定制等待响应。

     

    八、错误和异常

      遇到网络问题时,requests会抛出一个ConnectionError异常

      如果返回来了不成功的状态码,Response.raise_for_status()会抛出一个httperror异常

      若请求超时,则抛出一个Timeout异常

      若超过设定的最大重定向次数,则会抛出一个TooManyRedirects异常

      所有的request显示抛出的异常都继承自requests.exceptions.RequestException

  • 相关阅读:
    Jenkins发布Java项目
    自动发布项目(支持部署,回退功能)
    Gitlab Server
    1一站式管理所有SpringBoot启动类,Services服务窗口
    Navicat 连接MySQL8.0.23 出现2059错误
    2命令模式
    1模板方法模式
    7享元模式
    6外观模式
    5桥梁模式
  • 原文地址:https://www.cnblogs.com/smallstone2018/p/9847737.html
Copyright © 2011-2022 走看看