• requests库安装与使用


    1.安装requests库

    输入 python -m pip install requests

    2.简单使用-post

    import requests
    import json
    data = {
        'username':'dajiu',
        'password':'123456'
        }                                                  #以字典方式传入数据
    res = requests.post(url='http://127.0.0.1:8000/login/',data=data)  #post方法有2个参数,一个url一个data
    print (res.text) #打印数据
    print (res)   #打印response

    运行结果

     3.重构发送post请求

    import requests
    url = 'http://127.0.0.1:8000/login/'
    data = {
        'username':'dajiu',
        'password':'123456'
        }
    def send_post(url,data):             #封装方法,定义函数,有2个参数
        res = requests.post(url=url,data=data)
        return res.text     #返回结果
    print(send_post(url,data)) #打印结果

    运行结果:

      3.重构发送get请求

    #这个方法我得到的结果是返回为空
    import
    requests import json url = 'http://127.0.0.1:8000/login/?' data = { 'username':'dajiu', 'password':'123456' } def send_get(url,data): result = requests.get(url=url,data=data).json() res = json.dumps(result) return res print(send_get(url,data))

    第二种

    import requests
    import json
    url = 'http://127.0.0.1:8000/login/?username=dajiu&password=123456'
    def send_get(url):
        res = requests.get(url=url).json()
        r = json.dumps(res)
        return r
    print (send_get(url))

    运行结果

     4.格式化响应数据

    import requests
    import json
    url = 'http://127.0.0.1:8000/login/?username=dajiu&password=123456'
    def send_get(url):
        res = requests.get(url=url).json()
        r = json.dumps(res,indent=2,sort_keys=True)  #indent=2是空格,sort是排序(按照字母排序)
        return r
    print (send_get(url))

    运行结果

    5.使用类封装测试脚本

    先使用一个函数来调用接口函数

    import requests
    import json
    url = 'http://127.0.0.1:8000/login/?username=dajiu&password=123'
    data = {
        'username':'dajiu',
        'password':'123456'
        }
    def send_get(url):
        res = requests.get(url=url).json()
        r = json.dumps(res,indent=2,sort_keys=True)
        return r
    
    def send_post(url,data):             
        res = requests.post(url=url,data=data)
        return res.text   
    
    def run_main(url,method,data=None):  #把data数据默认为空,因为get不用传数据,空参数要放在有值参数后面
        res = None
        if method == 'GET':
           res = send_get(url)
        else:
           res = send_post(url,data)
        return res
    
    print(run_main(url,'POST',data))

    运行结果

     再使用类封装:第一种

    import requests
    import json
    
    class RunMain:
      #当前类的第一个参数是self
      def send_get(self,url):
        res = requests.get(url=url).json()
        r = json.dumps(res,indent=2,sort_keys=True)
        return r
    
      def send_post(self,url,data):             
        res = requests.post(url=url,data=data).json()
        r = json.dumps(res,indent=2,sort_keys=True)
        return r   
    
      def run_main(self,url,method,data=None):  #把daa数据默认为空,因为get不用传数据,空参数要放在有值参数后面
        res = None
        if method == 'GET':
           res = self.send_get(url)
        else:
           res = self.send_post(url,data)
        return res
    if __name__ == '__main__':
      #这种写法就是每次都要先实例化,然后再去调用run_main
        run = RunMain()   
        url = 'http://127.0.0.1:8000/login/?username=dajiu&password=123'
        data = {
        'username':'dajiu',
        'password':'123456'
        }
        print(run.run_main(url,'POST',data))

    运行结果:

    第二种

    import requests
    import json
    
    class RunMain:
                                                          #构造函数
      def __init__(self,url,method,data=None):
             self.res=self.run_main(url,method,data)
                                                        #当前类的第一个参数是self
      def send_get(self,url):
        res = requests.get(url=url).json()
        r = json.dumps(res,indent=2,sort_keys=True)
        return r
    
      def send_post(self,url,data):             
        res = requests.post(url=url,data=data).json()
        r = json.dumps(res,indent=2,sort_keys=True)
        return r   
    
      def run_main(self,url,method,data=None):  #把daa数据默认为空,因为get不用传数据,空参数要放在有值参数后面
        res = None
        if method == 'GET':
           res = self.send_get(url)
        else:
           res = self.send_post(url,data)
        return res
    
     
    if __name__=="__main__":
        url = 'http://127.0.0.1:8000/login/'
        data = {
             'username': 'sun',
             'password': '123',
         }
        run=RunMain(url,'POST',data)#实例化的同时执行构造函数
        print(run.res)

    运行结果:

  • 相关阅读:
    Laya list 居中
    Laya for...in和for each...in
    idea中tomcat启动失败

    通过Mock测试控制器
    Mybatis查询sql传入一个字符串传参数,报There is no getter for property named 'ids' in 'class java.lang.String'。
    Application Server was not connected before run configuration stop, reason: Unable to ping server at localhost:1099
    System.getProperty("XXX")方法
    linux命令
    JDK,IDEA,Tomcat,maven,MySQL的安装
  • 原文地址:https://www.cnblogs.com/dydxw/p/12331764.html
Copyright © 2020-2023  润新知