美文网首页
requests(1)

requests(1)

作者: 啊哈_6377 | 来源:发表于2020-07-26 20:52 被阅读0次

    2、requests请求

    请求方法:requests.get  requests.post  requests.put requests.delete  requests.head  requests.options

    请求参数传递:get方法params参数,字典中含字段值为none的将不会被加入到url

        post方法使用data参数,dict/元祖类型(使用同一个key名时可使用元祖列表)变量传递表单信息;如果传递的信息非表单形式,可以直接使用json参数直接传递;如果上传的是文件,可直接使用files参数,文件内容为以二进制方式打开(rb,wb,ab)的字节流,大文件可使用requests-toolbelt将请求作为数据流

    定制请求头:使用dict将请求头传递给headers参数

    3、requests响应

    包含方法:

    r.text  按照r.enconding设置的编码输出响应内容

    r.content 返回字节类型的响应内容,会自动解码gzip,deflate传输编码的响应数据

    r.encoding()  设置编码

    r.json()  返回json响应内容,解码成功不能代表访问成功

    r.status_code 返回响应状态码,当返回状态码为200时requests.codes.ok返回true

    r.raise_for_status() 当返回为4XX,5XX时 ,可使用此函数抛出异常,返回200调用此函数返回none

    r.headers 返回字典类型的响应头

    4、cookie

    获取指定cookie:r.cookies["键名"]

    发送cookies:可指定参数cookies=字典类型的值

    cookie返回对象为RequestsCookieJar,它的行为和字典类似,但接口更为完整,适合跨域名跨路径使用,还可以把 Cookie Jar 传到 Requests 中

    jar = requests.cookies.RequestsCookieJar()

    jar.set('tasty_cookie', 'yum', domain='httpbin.org', path='/cookies')

    jar.set('gross_cookie', 'blech', domain='httpbin.org', path='/elsewhere')

    url = 'http://httpbin.org/cookies'

    r = requests.get(url, cookies=jar)

    r.text

    5、重定向

    除了head方法外,使用其他方法请求都会自动重定向

    r.history  可用于追踪重定向,返回的是一个response对象列表,为完成这个请求而创建的对象,由老至近的顺序排序

    禁止重定向:请求时参数allow_redirects=Flase

    使用head请求,开启重定向:allow_redirects=True

    6、超时

    发送请求时,可指定超时时间:timeout=0.001,此为连接上服务器的时间,并非完成所有内容下载的时间,超时未连接上服务器会抛出异常

    相关文章

      网友评论

          本文标题:requests(1)

          本文链接:https://www.haomeiwen.com/subject/fsuglktx.html