zoukankan      html  css  js  c++  java
  • python bottle学习(四)request.quest/query_string/params/body等方法介绍

     
    假设url:http://0.0.0.0:18082/api/cluster/group?wzd=111&abc=cc
    方法类型:POST,body是{"name":"abc"}
     
    1. request.query
    得到一个bottle的FormsDict对象,该对象可以转化为字典,里面的内容是:
    {"wzd":"111","abc":"cc"},即,是url中?后面的参数
     
    2.request.params
    也是得到FormsDict对象,转化为字典后,其内容是:
    {"wzd":"111","abc":"cc","{"name":"abc"}":""}
    即,其内容包含了?后的参数和值,同时也包含了body中的值,要注意的是,它把body中所以的参数作为一个key存入了。
     
    3.request.body
    返回一个StringIO对象,通过read方法取出的数据是body里的所有值,不管body里是不是json该方法都原样返回body里的所有内容。对本例而言是返回:{"name":"abc"}
     
    4.request.query_string
    它得到的是,url中?后面所有的值,最为一个字符串,即:wzd=111&abc=cc
     
    5.request.json
    当请求的Content-Type`` 是`application/json的时候,该方法返回的是body中的json串,如果body中不是json会抛出异常:ValueError: No JSON object could be decoded,对应本例,返回:{"name":"abc"}
     
    6.request.form
    有这么一个表单:
    <form action="/login" method="post">
    Username: <input name="username1" type="text" />
    Password: <input name="password1" type="password" />
    <input value="Login" type="submit">
    </form>
    那么要获取username/password有如下方法:
    方法一:
    username = request.forms.get('username1') # 对应的是Username输入框中的name属性
    password = request.forms.get('password1') # 对应的是password输入框中的name属性
    方法二:
    username = request.POST.get('username')
    password = request.POST.get('password')
    并且,上面两种get方法都可以跟一个默认值,当username或者password不存在的时候返回设置的默认值,如:username = request.POST.get('username','abc'),当username不存在的时候,返回abc,如果不设置,返回none
     
    另外,bottle.request.forms,返回表单中所有的k,v,即:{“username”:"123","password":"324"}
  • 相关阅读:
    asp.net访问网络路径方法(模拟用户登录)
    C# List使用District去重复数据
    post跨域请求
    Win7 IIS配置 applicationHost.config 错误:无法识别的特性“setProfileEnvironment” 解决方法
    常见 SQL语句使用 增删改查
    wangEditor编辑器中解析html图文信息问题
    jQuery制作table表格布局插件带有列左右拖动效果
    vue 三目运算
    jQuery遍历 filter()方法
    js 的filter()方法
  • 原文地址:https://www.cnblogs.com/dadong616/p/6868397.html
Copyright © 2011-2022 走看看