zoukankan      html  css  js  c++  java
  • [原创] web_custom_request 与 Viewstate

      在用loadrunner对.net编写的website进行性能测试时,经常会遇上一些hidden fields,例如,CSRFTOKEN、VIEWSTATE、EVENTVALIDATION等,而对于这些hidden field,有时候需要进行前后关联。但是最近发现一个很奇怪的现象:已经通过web_reg_save_param_regexp函数准确的获取了这些hidden fields,并且所得的param在web_submit_data可以正常使用,但是用在web_custom_request时却总是报错,百思不得其解!经过google后终于弄明白了:

    进行关联通常用到的都是web_reg_save_param、web_reg_save_param_ex、web_reg_save_param_regexp这三个函数,需要注意的是这三个函数拿回来的param的值都是html编码的。

    对于html编码的param,web_submit_data函数可以直接使用,但是web_custom_request则不可以直接使用,而需要通过函数web_convert_param先转换为url编码才可以,否则是会产生error的。

    int web_convert_param( const char *ParamName, [char *SourceString] char *SourceEncoding, char *TargetEncoding, LAST ); 

    Example 1

    The following example uses web_convert_param to convert HTML strings to URL and plain text formats.

    The Web page has these texts:

    Sample HTML code to be converted: <mytag>& End

    Sample plain text to be converted: 1–AD X=0+2 End

    Action()

    {

    web_reg_save_param("HTML",

        "LB=Sample HTML code to be converted: ",

        "RB= End",

        LAST );

     

    web_reg_save_param("HTML1",

        "LB=Sample HTML code to be converted: ",

        "RB= End",

        LAST );

     

    web_reg_save_param("Plaintext",

        "LB=Sample plain text to be converted: ",

        "RB= End",

        LAST );

     

    web_url("web_url",

        "URL=http://lazyboy/html/convert_param_page.html",

         "TargetFrame=",

        "Resource=0",

         "Referer=",

         LAST );

     

    web_convert_param("HTML", "SourceEncoding=HTML",

         "TargetEncoding=URL", LAST );

    web_convert_param("HTML1", "SourceEncoding=HTML",

         "TargetEncoding=PLAIN", LAST );

    web_convert_param("Plaintext", "SourceEncoding=HTML",

         "TargetEncoding=URL", LAST );

     

    web_reg_save_param("Result",

        "LB=<code>entry = ",

        "RB=</code>",

        LAST );

     

    web_custom_request("web_custom_request",

        "URL=http://lazarus/cgi–bin/post_query.exe",

        "Method=POST",

        "TargetFrame=",

        "Resource=0",

        "Referer=",

        "Body=entry={Plaintext},{HTML}",

        LAST );

    return 0;

    }

    The following section shows the relevant sections of the log file that resulted from running the above segment:

    Running Vuser...

    Action.c(21): Saving Parameter "HTML = &lt;mytag&gt;&amp;"

    Action.c(21): Saving Parameter "HTML1 = &lt;mytag&gt;&amp;"

    Action.c(21): Saving Parameter "Plaintext = 1–AD X=0+2"

    After web_url:

    Action.c(28): Saving Parameter "HTML = %3Cmytag%3E%26"

    Action.c(28): web_convert_param was successful

    Action.c(29): Saving Parameter "HTML1 = <mytag>&"

    Action.c(29): web_convert_param was successful

    Action.c(30): Saving Parameter "Plaintext = 1–AD+X%3D0%2B2"

    Action.c(30): web_convert_param was successful

    web_custom_request:

    Action.c(37): Parameter Substitution: parameter "Plaintext" = "1–AD+X%3D0%2B2"

    Action.c(37): Parameter Substitution: parameter "HTML" = "%3Cmytag%3E%26"

    Action.c(37): Saving Parameter "Result = 1–AD X=0+2,<mytag>&"

    Example 2

    This example shows the use of the SourceString argument. Note that the source string can contain parameters. The source string is first evaluated, replacing parameters with their values, then converted to PLAIN. The result is stored in parameter "targetParam."

    web_convert_param(

            "targetParam",

            "SourceString={param1}abc{param2}",

            "SourceEncoding=HTML",

            "TargetEncoding=PLAIN",

             LAST ); 

  • 相关阅读:
    hdu1561 The more, The Better 树形DP+分组背包
    hdu1520 Anniversary party 简单树形DP
    hdu1054 Strategic Game 树形DP
    hdu1011 Starship Troopers 树形DP
    hdu4681 String DP(2013多校第8场)
    zoj3469 Food Delivery 区间DP
    LightOJ 1422 -Halloween Costumes 区间DP
    hdu4283 You Are the One 区间DP
    poj1651 Multiplication Puzzle 区间DP
    codeforce 149D Coloring Brackets 区间DP
  • 原文地址:https://www.cnblogs.com/lci05/p/4057281.html
Copyright © 2011-2022 走看看