• requests基础(二)获取响应内容


    响应包括响应行、响应头、响应正文,这些返回的响应信息都可以通过Request模块获取。这些获取到的响应内容也是接口测试执行得到的实际结果。

    获取响信息

    #requests获取响应信息
    import requests
    
    response=requests.get('https://www.taobao.com/',stream=True)
    
    #获取响应行
    print(response.status_code)#响应状态码
    print(response.reason)#响应信息
    
    # 响应头
    print(response.headers.get('Content-Type'))#返回的是字典类型,可以继续使用get获取指定的值
    
    #获取其他相应信息
    print(response.url)#获取请求地址
    print(response.cookies)#获取cookies
    print(response.encoding)#获取响应的编码格式

    响应正文

    依据不同格式的响应正文情况,requests模块有四种不同的处理方式

    
    # 方式一:普通响应内容,使用response.encoding改变编码,防止乱码出现
    response=requests.get('https://www.taobao.com/')
    response.encoding='utf-8'
    print(response.text)
    
    #方式二:返回二进制响应内容
    response=requests.get('https://www.taobao.com/')
    print(response.content.decode('utf-8'))
    
    #方式三:json响应内容 json()方法会返回一个json对象
    get_param_data={
        "grant_type":"client_credential",
        "appid":"wx93fc8716b3795e90",
        "secret":"1ff879affa4d6c7cddc27b2e99406990"
    }
    response=requests.get('https://api.weixin.qq.com/cgi-bin/token',get_param_data)
    print(response.json()['access_token'])
    
    #方式四:原始响应内容 请求地址后加 stream=True  一般不使用这个
    response=requests.get('https://www.taobao.com/',stream=True)
    print(response.raw.read(1000))
    
    #扩展
    #response.content下载图片 from PIL import Image from io import BytesIO url='https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png' response=requests.get(url) img=Image.open(BytesIO(response.content)) img.save('test.png')
  • 相关阅读:
    日常练习-利用python的random模块模拟身份证号码
    学习笔记-redis
    学习笔记-AJAX&JSON
    学习笔记-JQuery
    学习笔记-Filter&Listener
    学习笔记-EL&JSTL
    学习笔记-Cookie&Session
    学习笔记-Response
    学习笔记-XML
    JToken中并没有Value这个属性,但在运行时可以看到,用dyna可以取到这个属性值
  • 原文地址:https://www.cnblogs.com/lvhuayan/p/14901441.html
Copyright © 2020-2023  润新知