zoukankan      html  css  js  c++  java
  • ApiPost如何在预执行脚本里添加请求参数?

    ApiPost V3引入了预执行脚本和后执行脚本的概念,详细可以通过链接:《ApiPost的预执行脚本和后执行脚本》了解学习更多。本文主要介绍如何在预执行脚本里增加请求参数。

    使用场景

    我们可能需要在请求时发送一些参数,而这些参数是通过其他参与发送的请求参数计算而来的。举例:

    接口:https://console.apipost.cn/need_token.php

    body请求参数如下:

    参数参数描述 
     user_id  用户ID
     nick_name  用户名


    header请求参数如下:

    参数参数描述 
     token  由body的请求参数user_id、nick_name和用户头UA通过md5 加密后组成 
     

    如上面的情况,我们需要在发送前,先通过body的请求参数user_id、nick_name和用户头UA通过md5 加密计算得出一个token放到header里才行。ApiPost如何实现这个需求呢?

    我们可以通过在预执行脚本里增加请求参数来实现。

    具体实现

    如下图,我们已经在body里添加好了我们需要的参数。

    我们接下来要做的是通过预执行脚本计算出token并添加到header参数。

    我们先做个小实验,先在预执行脚本里定义一个临时变量raw_token,其值由 

    request.request_bodys.user_id + request.request_bodys.nick_name + navigator.userAgent

    组成。其实后面就会讲到,request就是请求参数对象,navigator就是用户环境浏览器对象。

    然后把这个变量放到get里,目的是看看服务器到底会不会接收到我们目标中由user_id、nick_name、UA组成的字符串。发送结果如下:

    成功!我们通过在服务器端打印的结果来看,这个参数就是我们发送的body参数加上UA组成的字符串。

    那么接下来就好办了,我们只需要把这个变量md5后放到header参数里就行了。

    并在发送后,服务器成功接收header参数token:

    request 对象

    如同上面所说,我们可以在预执行脚本里,通过 request 对象来获得请求的参数数据。该对象结构如下:

    {
        "url": "https://console.apipost.cn/need_token.php",  // 字符串,请求URL
        "method": "POST",    // 字符串,请求方式
        "timeout": 25000,    // 数字,请求超时时间限制(毫秒)
        "contentType": "application/x-www-form-urlencoded", //字符串,请求contentType
        "request_bodys": { // 对象,预定义请求Body参数
            "user_id": "1",
            "nick_name": "jim green"
        },
        "request_headers": { // 对象,预定义请求Header参数
            "Authorization": "Basic amltOnB3ZDEyMw=="
        }
    }

    navigator对象

    Navigator 对象包含有关浏览器的信息,同正常浏览器的Navigator  对象属性相同。

  • 相关阅读:
    Delphi公用函数单元
    Delphi XE5 for Android (十一)
    Delphi XE5 for Android (十)
    Delphi XE5 for Android (九)
    Delphi XE5 for Android (八)
    Delphi XE5 for Android (七)
    Delphi XE5 for Android (五)
    Delphi XE5 for Android (四)
    Delphi XE5 for Android (三)
    Delphi XE5 for Android (二)
  • 原文地址:https://www.cnblogs.com/phpwechat/p/12797560.html
Copyright © 2011-2022 走看看