LoadRunner函數詳解之web_custom_request

來源:互聯網
上載者:User

定義:允許使用者運用任何HTTP支援的方式自訂HTTP請求
函數形式:web_custom_request( const char *RequestName, ,
[EXTRARES, ,] LAST );

樣本1:Body可使用屬性的示範

web_custom_request(……"BodyUnicode=REPRICE""BodyBinary=\\x08\\x00\\xCC\\x02\\x00\\x00""Body=.\r\n""-dxjjtbw/(.tp?eg:ch/6--\r\n",LAST);

註:在上面的代碼中,使用了3個參數來劃分請求體,一個是Unicode,一個是二進位,最後一個是常規的字串。最終的請求體是這3個參數按照在函數中的順序串連起來的值。還有一個很少用到的參數,Binary。它也能描述二進位請求體,但只允許函數中只有一個請求體參數。所有的請求體都是ASCII字元,以null結束。

樣本2:以下錄製的指令碼中,使用者開始錄製從 http://lazarus/html/forms/file.html。當使用者提交他的你請求時,VuGen插入了web_add_header函數,接著在調用web_custom_request函數。

web_url("file.html", "URL=http://lazarus/html/forms/file.html",     "TargetFrame=_TOP", LAST ); web_add_header("Content–Type", "multipart/form–data; boundary=–––––––––––––––––––––––––––292742461228954"); web_custom_request("post_query.exe", "Method=POST",     "URL=http://lazarus/cgi–bin/post_query.exe",     "Body=–––––––––––––––––––––––––––––292742461228954\r\nContent–Disp"     "osition: form–data; name=\"entry\"\r\n\r\nText\r\n––––––––––"     "–––––––––––––––––––292742461228954\r\nContent–Disposition: f"     "–––––––––––292742461228954––\r\n",     "TargetFrame=",     LAST );

樣本3:Raw Body的使用示範

char *abc= .../* a pointer to the raw data */ web_custom_request("StepName", "URL=http://some.url ", "Method=POST", RAW_BODY_START, "abc", 3, RAW_BODY_END, LAST); 

註:在應用中,即使設定了資料的長度為0,指標也必須有值,不可為空。在“Binary=1”時,不能使用上面的文法傳遞未經處理資料。資料緩衝區中的資料不能使用參數化。也就是說,緩衝區中的任何參數(例如 “{MyParam}”)不能被正確的替代為相應的值,只會以字面值發送。

樣本4:在Body屬性中使用二進位代碼

可以使用下面的格式在web_custom_request 函數的“Body”屬性中加入二進位字串。

\x[char1][char2]

通過2個字元[char1][char2]來表示十六進位的值。

例如:\x24表示16*2+4=36,它代表“$”符號,\x2B代表的是“+”符號。

如果不足2個字元,也不是有效十六進位字元,VuGen則會當作ASCII文本處理。所以要注意,對於不足2個字元的十六進位,要在前面補0。例如 “\x2”是無效的十六進位串,需要邊為“\x02”。

注意二進位的值是以“\x” 的形式出現在指令碼中的,也就是說在“x” 前面有2個反斜線。這是由C語言的轉義文法決定的。但是,當使用VuGen產生web_custom_request 函數時,只需要輸入一個反斜線。

如果在web_custom_request 中使用參數化,定義參數時只需要包含一個反斜線這是由於參數替換時是不考慮C的文法轉換的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.