一、什么地方需要關聯
凡是腳本每次執行時都必須獲得唯一標識的地方都需要關聯
假如腳本需要關聯,如果不做關聯是不會執行通過的,也就是說會有錯誤消息發生。不過,并沒有任何特定的錯誤消息是和關聯有關系的。會出現什么錯誤消息,與系統實際的錯誤處理機制有關。錯誤消息有可能會提醒用戶要重新登錄,但是也有可能直接就顯示HTTP?404的錯誤消息
二、如何做關聯
關聯會用到下列的函數:
1、web_reg_save_param;
2、web_create_html_param;
3、web_create_html_param_ex;
其中,web_reg_save_param的語法為:
web_reg_save_param?(?"Parameter?Name"?,?<?list?of?Attributes?>,?LAST?);
web_create_html_param和web_create_html_param_ex這兩個函數主要是保留以兼容以前舊版本。建議使用web_reg_save_param函數
那么,如何找出要關聯數據呢?簡單地說,每一次執行時都會變動的值,就有可能需要做關聯
VuGen提供兩種方式幫助用戶找出需要做關聯的值:自動關聯和手動關聯
自動關聯一般情況下比較簡單,不進行說明,后續主要是總結手動關聯時的一些方法以及出現的一些問題的解決方式
三、參數說明
ParamName:存放動態數據的參數名稱
list?of?Attributes:其他屬性,包含?“Notfound”、“LB”、“RB”、“RelFrameID”、“Search”、“ORD”、“SaveOffset”、“Convert”以及“SaveLen”。
下面將詳細說明每個屬性值的意義:
1、Notfound:指定當找不到要找的動態數據時該怎么處理
當指定Notfound=error時,表示著找不到動態數據時,就發出一個錯誤消息。此為該屬性的默認值
當指定Notfound=warning時,表示當找不到動態數據時,不發出錯誤消息,只發出警告,腳本也會繼續執行下去不會中斷。在對腳本出錯時,可以如此設置
2、LB:動態數據的左邊界字符串。此屬性是必須要有的,而且區分大小寫
3、RB:動態數據的右邊界字符串。此屬性是必須要有的,而且區分大小寫
4、RelFrameID:相對于URL而言,欲搜尋的網頁的Frame。此屬性可以是All或是數字,而且可有可無
5、Search:搜尋的范圍,其值可以是Headers(只搜尋headers)、Body(只搜尋body部分,不搜尋header)、Noresource(只搜尋body部分,不搜尋header與resource)或是All(搜尋全部范圍,此為默認值),此屬性可有可無
6、ORD:指明從第幾次出現的左邊界開始才是要擷取的數據,默認值是1。假如該屬性值為All,則所有找到符合的數據會存儲在數組中。此屬性可有可無
7、SaveOffset:當找到符合的動態數據時,從第幾個字符開始才開始存儲到參數中。此屬性值不可為負數,其默認值為0
8、Convert:轉換數據格式。當指定該屬性值為HTML_TO_URL時,意味著將HTML-encoded數據轉成URL-encoded數據格式。如果是HTML_TO_TEXT,表示將HTML-encoded數據轉成純文字數據格式
9、SaveLen:當找到匹配項后,偏移量之后的幾個字元存儲到參數中。此參數可有可無,默認值是-1,表示一直到結尾的整個字符串都存入參數中
四、轉義字符總結
在做手動關聯時,取邊界值的時候,會經常用到轉義字符,轉義字符如下:
\b?退格
\f?換頁
\n?換行
\r?回車
\t?水平制表
\v?垂直制表
\\?反斜杠
\??問號字符
\'?單引號字符
\"?雙引號字符
\0?空字符