zoukankan      html  css  js  c++  java
  • 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)

    运行结果:

  • 相关阅读:
    [转载]单点登录SSO:概述与示例
    Go实现基于WebSocket的弹幕服务
    Redis事务涉及的watch、multi等命令
    PHP实现快速排序
    PHP实现单例模式
    PHP实现二分法查找
    PHP实现冒泡排序
    Mac包管理神器Homebrew
    Mac超快速搭建Nginx、PHP、PHPStorm、XDebug环境
    修改CentOS服务器时间为北京时间
  • 原文地址:https://www.cnblogs.com/dydxw/p/12331764.html
Copyright © 2011-2022 走看看