zoukankan      html  css  js  c++  java
  • python的requests模块

    使用python进行接口测试得时候可以使用requests模块,是基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库

    安装requests是模块

    pip install requests

    requests模块的使用

    requests支持http的请求类型,如get,post,delete,put,head等

    如:

    r=requests.get("www.baidu.com")

    r=requests.post("www.baidu.com")

    也可以使用这个格式来处理所有的格式

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

    传递参数

    将参数定义为字典类型进行传递给params或者data

    如,

    para={"kw":"python"}

    r=reuqests.get{"www.baidu.com",params=para}

    字典中值为none的键值对不对传递过去,字典的值也可以为列表

    响应结果

    使用r.text获取到响应结果

    json响应结果

    使用r.json获取到json响应结果

    二进制响应结果

    使用r.content获取

    定制head头

    将定制的head定义为字典类型传递给headers即可

    head={"content-type":"application/json"}

    r.requests.get{'www.baidu.com',params=para,headers=head}

    post一个多部分编码的文件(Multipart-Encoded)

    url = 'http://httpbin.org/post'
    files = {'file': open('report.xls', 'rb')}
    
    r = requests.post(url, files=files)

    如果你发送一个非常大的文件作为 multipart/form-data 请求,你可能希望流请求(?)。默认下 requests 不支持, 但有个第三方包支持 - requests-toolbelt

    安装

    pip install requests-toolbelt

    应用

    from requests_toolbelt import MultipartEncoder
    import requests
    
    m = MultipartEncoder(
        fields={'field0': 'value', 'field1': 'value',
                'field2': ('filename', open('file.py', 'rb'), 'text/plain')}
        )
    
    r = requests.post('http://httpbin.org/post', data=m,
                      headers={'Content-Type': m.content_type})
    

     

    响应吗

    r.status_code

    响应头

    r.headers

  • 相关阅读:
    IOTest-InputStream-OutputStream
    JSP
    java链表
    区块链
    MySQL常用命令
    jQuery
    javascript
    Nginx
    Linux
    Hive
  • 原文地址:https://www.cnblogs.com/hellowcf/p/6952497.html
Copyright © 2011-2022 走看看