diff --git a/01-TestCase/tsg_bfapi/active_defence_event_log/__pycache__/downloadexcel.cpython-36.pyc b/01-TestCase/tsg_bfapi/active_defence_event_log/__pycache__/downloadexcel.cpython-36.pyc
index 5814042..e56dd88 100644
Binary files a/01-TestCase/tsg_bfapi/active_defence_event_log/__pycache__/downloadexcel.cpython-36.pyc and b/01-TestCase/tsg_bfapi/active_defence_event_log/__pycache__/downloadexcel.cpython-36.pyc differ
diff --git a/01-TestCase/tsg_cli/QueryObject.robot b/01-TestCase/tsg_cli/QueryObject.robot
index 58357f9..2251469 100644
--- a/01-TestCase/tsg_cli/QueryObject.robot
+++ b/01-TestCase/tsg_cli/QueryObject.robot
@@ -1,7 +1,7 @@
*** Settings ***
Force Tags tsg-cli Object Query
-Resource ../../03-Variable/bifangapivariable.txt
-Resource ../../02-Keyword/tsg_cli/interface.robot
+Resource ../../03-Variable/BifangApiVariable.txt
+Resource ../../02-Keyword/tsg_cli/Interface.robot
*** Test Cases ***
Objects_Query_TestCase
diff --git a/01-TestCase/tsg_oam/OamApi.robot b/01-TestCase/tsg_oam/OamApi.robot
index cbf8b38..ba0d35b 100644
--- a/01-TestCase/tsg_oam/OamApi.robot
+++ b/01-TestCase/tsg_oam/OamApi.robot
@@ -310,6 +310,6 @@ oamcli-chassis-00001
Append To File ${path}/OamApi_file.txt ${responseString}
Log ${response}
-writestarttime
+writeENDtime
${endtime} Get Time
Append To File ${path}/OamApi_file.txt ${endtime}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
\ No newline at end of file
diff --git a/01-TestCase/tsg_ui/ui_mail/Mailcase.robot b/01-TestCase/tsg_ui/ui_mail/Mailcase.robot
index 70316c9..46b37c6 100644
--- a/01-TestCase/tsg_ui/ui_mail/Mailcase.robot
+++ b/01-TestCase/tsg_ui/ui_mail/Mailcase.robot
@@ -6,25 +6,21 @@ Resource ../../../02-Keyword/tsg_ui/mail/Mailpages.robot
*** Test Cases ***
create-001
- #登录界面
- Ui-login
+
#新建
CreatePage 192.168.40.204 25 test yytest@mail.test.com 111111
create-002
- #登录界面
- Ui-login
+
#新建
CreatePage 192.168.40.204 25 测试 test@mail.test.com test
create-003
- #登录界面
- Ui-login
+
#新建
CreatePage 192.168.40.204 25 @*%& test1@mail.test.com @*%&
create-004
- #登录界面
- Ui-login
+
#新建
CreatePage 192.168.40.204 25 малый ttest@mail.test.com малый
diff --git a/01-TestCase/zjj/ZDFY_ActiveDefencePolicy.robot b/01-TestCase/zjj/ZDFY_ActiveDefencePolicy.robot
index 082e2d2..e38a5df 100644
--- a/01-TestCase/zjj/ZDFY_ActiveDefencePolicy.robot
+++ b/01-TestCase/zjj/ZDFY_ActiveDefencePolicy.robot
@@ -17,7 +17,7 @@ ${policyIds} ${EMPTY}
${objectids} ${EMPTY}
${url} /policy/profile/responsepages
${profiledId} ${EMPTY}
-${target_ip} 10.3.22.129
+${target_ip} 10.3.22.139
# 无DHCP,需要手动设置IP,可用地址段: 10.3.22.[129-254], 掩码: 255.255.255.0, DNS服务器: 10.3.22.11。
*** Test Cases ***
ZDFY_ActiveDefencePolicy-Flood-00001
@@ -44,15 +44,38 @@ ZDFY_ActiveDefencePolicy-Flood-00001
${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
${s} Convert to String ${policyId}
${policyIds} Create List {"policyType":"active_defence","policyIds":[${policyId}]}
-
ZDFY_ActiveDefencePolicy-Flood-00002
- [Tags] flood TwoPolicyOneprofile
+ [Tags] flood
${caseName} set variable ZDFY_ActiveDefencePolicy-Flood-00002
Comment claimed_src_ip_profile_id
${response} BasePostRequest /policy/profile/claimedsrcip body={"opAction":"add","returnData":1,"claimedSrcIpList":[{"profileName":"autotest","addrType":4,"ipList":["10.3.22.0/25"],"isValid":1,"profileDesc":"autotest"}]}
${claimed_src_ip_profile_id} Set Variable ${response['data']['list'][0]['profileId']}
+ Comment 创建带主动策略Flood
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=active_defence
+ ... policyDesc=${caseName}
+ ... action=activeDefence
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"method":"flood","l4_protocol":"UDP","target_ip":"${target_ip}","target_port":1234,"rate_pps":1,"claimed_src_ip_profile_id":${claimed_src_ip_profile_id}}
+ ... referenceObject=
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"active_defence","policyIds":[${policyId}]}
+ZDFY_ActiveDefencePolicy-Flood-00003
+ [Tags] flood TwoPolicyOneprofile
+
+ ${caseName} set variable ZDFY_ActiveDefencePolicy-Flood-00003
+ Comment claimed_src_ip_profile_id
+ ${response} BasePostRequest /policy/profile/claimedsrcip body={"opAction":"add","returnData":1,"claimedSrcIpList":[{"profileName":"autotest","addrType":4,"ipList":["10.3.22.0/25"],"isValid":1,"profileDesc":"autotest"}]}
+ ${claimed_src_ip_profile_id} Set Variable ${response['data']['list'][0]['profileId']}
+
Comment 创建带主动策略Flood
${policyDict} Create Dictionary
... policyName=${caseName}
@@ -99,7 +122,7 @@ ZDFY_ActiveDefencePolicy-Flood-00002
... userTags=${Default_UserTags}
... doLog=${Default_DoLog}
Sleep ${policyVerificationSleepSeconds}s
- ${rescode} ${policyId} ${response} EditPolicy ${policyDict2Edit} ${1} disable
+ ${rescode} ${policyId} ${response} EditPolicy ${policyDict2Edit} disable
${policyDictEdit} Create Dictionary
... policyId=${policyId2}
... policyName=${caseName}
@@ -114,8 +137,8 @@ ZDFY_ActiveDefencePolicy-Flood-00002
... userTags=${Default_UserTags}
... doLog=${Default_DoLog}
Sleep ${policyVerificationSleepSeconds}s
- ${rescode} ${policyId} ${response} EditPolicy ${policyDictEdit} ${1} disable
- ${rescode} ${policyId} ${response} EditPolicy ${policyDict2Edit} ${1} enable
+ ${rescode} ${policyId} ${response} EditPolicy ${policyDictEdit} disable
+ ${rescode} ${policyId} ${response} EditPolicy ${policyDict2Edit} enable
ZDFY_ActiveDefencePolicy-Reflection-00001
diff --git a/01-TestCase/zjj/ZJJ_ProxyPolciy-Hijack-SSL.robot b/01-TestCase/zjj/ZJJ_ProxyPolciy-Hijack-SSL.robot
index 73c6374..4192273 100644
--- a/01-TestCase/zjj/ZJJ_ProxyPolciy-Hijack-SSL.robot
+++ b/01-TestCase/zjj/ZJJ_ProxyPolciy-Hijack-SSL.robot
@@ -21,6 +21,8 @@ ZJJ_ProxyPolicy-Hijack-Ssl-00001
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*rutube.html
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
${objectids} set Variable ${objectId}
+ ${objectDict} Create Dictionary objectId=${objectId} objectType=url isValid=${1} addItemList=*rutube.html
+ ${rescode} ${objectId} EditObject ${objectDict} update
Comment 创建hijack文件
${response} CreatePolicyFile2 ${url} ${path}/hijack_files/ Create-Hijack Files-test.apk hijack {"isValid":1,"contentType":"application/vnd.android.package-archive","opAction":"add","profileName":"test1","contentName":"Create-Hijack Files-test.apk","profileId":null,"returnData":1}
${profiledId} Get From Dictionary ${response} profileId
diff --git a/01-TestCase/zjj/ZJJ_ProxyPolciy-SSL注入比率测试.robot b/01-TestCase/zjj/ZJJ_ProxyPolciy-SSL注入比率测试.robot
new file mode 100644
index 0000000..d2c1487
--- /dev/null
+++ b/01-TestCase/zjj/ZJJ_ProxyPolciy-SSL注入比率测试.robot
@@ -0,0 +1,247 @@
+*** Settings ***
+Test Teardown DeletePolicyAndObject ${policyIds} ${objectids}
+Force Tags zjj tsg_adc proxy_policy
+Library OperatingSystem
+Resource ../../02-Keyword/tsg_adc/SystemCommand.robot
+Resource ../../02-Keyword/tsg_bfapi/PolicyObject.robot
+Resource ../../02-Keyword/tsg_bfapi/LogVariable.robot
+Resource ../../02-Keyword/tsg_bfapi/ApiRequest.robot
+Resource ../../03-Variable/AllFlowCaseVariable.txt
+Resource ../../03-Variable/Policy_Objects_Module.txt
+Library Custometest
+
+*** Variables ***
+${policyIds} ${EMPTY}
+${objectids} ${EMPTY}
+${url} /policy/profile/hijackfiles
+${profiledId} ${EMPTY}
+
+*** Test Cases ***
+ZJJ_ProxyPolicy-Hijack-Ssl-大注入比率0.25
+ [Tags] selfserver ssl hijack ip+url
+ Comment 创建url
+ ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*rutube.html
+ ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
+ ${objectids} set Variable ${objectId}
+ Comment 创建hijack文件
+ #${response} CreatePolicyFile2 ${url} ${path}/hijack_files/ Create-Hijack-比率 python-3.8.1-amd64.exe hijack {"isValid":1,"contentType":"application/x-msdos-program","opAction":"add","profileName":"test1","contentName":"python-3.8.1-amd64.exe","profileId":null,"returnData":1}
+ #${profiledId} Get From Dictionary ${response} profileId
+ ${objectedit} Create Dictionary profileName=ZJJ_ProxyPolicy-Hijack-Ssl-025 contentName=KMSTools.exe contentType=application/x-msdos-program
+ Comment 打印需要修改的json内容
+ log ${objectedit}
+ ${objectDict} Jsoneditmanu ${setting_proxy_profiles_hijack} ${objectedit}
+ log ${objectDict}
+ ${response} CreatePolicyFile4 ${url} hijack_files/ KMSTools.exe ${objectDict}
+ # 查询
+ ${profiledId} Get From Dictionary ${response} profileId
+ Comment 创建安全策略
+ ${policyDict} Create Dictionary policyName=ZJJ_SecurityPolicy-Hijack-Ssl-025 policyType=tsg_security policyDesc=autotest userTags= action=intercept effectiveRange= userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} isValid=${1} appObjectIdArray=3
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ #删除策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ Comment 创建管控策略
+ ${policyDict} Create Dictionary policyName=ZJJ_ProxyPolicy-Hijack-Ssl-025 policyType=pxy_manipulation policyDesc=autotest userTags= action=manipulation effectiveRange= userRegion={"method":"hijack","hijack_profile":${profiledId},"protocol":"HTTP"} isValid=${1} appObjectIdArray=2 referenceObject=${objectId}|TSG_FIELD_HTTP_URL
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ #${rescode} ${policyId3} AddPolicy {"opAction":"add","returnData":1,"policyList":{"policyId":"","policyName":"dxytest","policyType":"pxy_manipulation","action":"manipulation","userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"hijack","hijack_profile":${profiledId},"protocol":"HTTP"},"isValid":1,"objectIds":[],"objectList":[],"scheduleId":[],"source":[{"objectId":${testClentID},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[{"filter":[{"objectId":${objectId},"protocolField":"TSG_FIELD_HTTP_URL"}]}],"appIdObjects":[2]}}
+ #删除策略
+ ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ Comment 功能端验证HTTP验证
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/selfserver/SecurityPolicy-Intercept-SSL-0001.bat
+ ... ELSE set variable curl \ -kv \ https://open.node.com/test/rutube/rutube.html
+ ${stringlist} run keyword if '${systemType}'=='Windows' Create List Connected to open.node.com
+ ... ELSE Create List Connected to open.node.com
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ :FOR ${n} IN RANGE 100
+ SystemCommands ${commandstr} ${stringlist}
+ END
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ #日志验证
+ ${s} Convert to String ${policyId3}
+ ${logsize} GetLogCount proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host open.node.com
+ log 22${logsize}
+ ${logsize} Convert to String ${logsize}
+ Append To File ${path}/enforcement_ratio.txt |ZJJ_ProxyPolicy-Hijack-Ssl-注入比率0.25\r\n
+ Append To File ${path}/enforcement_ratio.txt |-starttime:|${starttime}\r\n
+ Append To File ${path}/enforcement_ratio.txt ZJJ_ProxyPolicy-Hijack-Ssl-注入比率0.25访问100次logsize:|${logsize}
+ Append To File ${path}/enforcement_ratio.txt s:|${s}
+ Append To File ${path}/enforcement_ratio.txt endtime:|${endtime}
+ZJJ_ProxyPolicy-Hijack-Ssl-小注入比率0.25
+ [Tags] selfserver ssl hijack ip+url
+ Comment 创建url
+ ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*rutube.html
+ ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
+ ${objectids} set Variable ${objectId}
+ Comment 创建hijack文件
+ #${response} CreatePolicyFile2 ${url} ${path}/hijack_files/ Create-Hijack-比率 python-3.8.1-amd64.exe hijack {"isValid":1,"contentType":"application/x-msdos-program","opAction":"add","profileName":"test1","contentName":"python-3.8.1-amd64.exe","profileId":null,"returnData":1}
+ #${profiledId} Get From Dictionary ${response} profileId
+ ${objectedit} Create Dictionary profileName=zmmhjacktest contentName=Create-Hijack Files-test-7.rpm contentType=audio/x-pn-realaudio-plugin
+ Comment 打印需要修改的json内容
+ log ${objectedit}
+ ${objectDict} Jsoneditmanu ${setting_proxy_profiles_hijack} ${objectedit}
+ log ${objectDict}
+ ${response} CreatePolicyFile4 ${url} hijack_files/ Create-Hijack Files-test-7.rpm ${objectDict}
+ # 查询
+ ${profiledId} Get From Dictionary ${response} profileId
+ Comment 创建安全策略
+ ${policyDict} Create Dictionary policyName=ZJJ_SecurityPolicy-Hijack-Ssl-025 policyType=tsg_security policyDesc=autotest userTags= action=intercept effectiveRange= userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} isValid=${1} appObjectIdArray=3
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ #删除策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ Comment 创建管控策略
+ ${policyDict} Create Dictionary policyName=ZJJ_ProxyPolicy-Hijack-Ssl-025 policyType=pxy_manipulation policyDesc=autotest userTags= action=manipulation effectiveRange= userRegion={"method":"hijack","hijack_profile":${profiledId},"protocol":"HTTP"} isValid=${1} appObjectIdArray=2 referenceObject=${objectId}|TSG_FIELD_HTTP_URL
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ #${rescode} ${policyId3} AddPolicy {"opAction":"add","returnData":1,"policyList":{"policyId":"","policyName":"dxytest","policyType":"pxy_manipulation","action":"manipulation","userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"hijack","hijack_profile":${profiledId},"protocol":"HTTP"},"isValid":1,"objectIds":[],"objectList":[],"scheduleId":[],"source":[{"objectId":${testClentID},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[{"filter":[{"objectId":${objectId},"protocolField":"TSG_FIELD_HTTP_URL"}]}],"appIdObjects":[2]}}
+ #删除策略
+ ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ Comment 功能端验证HTTP验证
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/selfserver/SecurityPolicy-Intercept-SSL-0001.bat
+ ... ELSE set variable curl \ -kv \ https://open.node.com/test/rutube/rutube.html
+ ${stringlist} run keyword if '${systemType}'=='Windows' Create List Connected to open.node.com
+ ... ELSE Create List Connected to open.node.com
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ :FOR ${n} IN RANGE 100
+ SystemCommands ${commandstr} ${stringlist}
+ END
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ #日志验证
+ ${s} Convert to String ${policyId3}
+ ${logsize} GetLogCount proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host open.node.com
+ log 22${logsize}
+ ${logsize} Convert to String ${logsize}
+ Append To File ${path}/enforcement_ratio.txt |ZJJ_ProxyPolicy-Hijack-Ssl-注入比率0.25\r\n
+ Append To File ${path}/enforcement_ratio.txt |-starttime:|${starttime}\r\n
+ Append To File ${path}/enforcement_ratio.txt ZJJ_ProxyPolicy-Hijack-Ssl-注入比率0.25访问100次logsize:|${logsize}
+ Append To File ${path}/enforcement_ratio.txt s:|${s}
+ Append To File ${path}/enforcement_ratio.txt endtime:|${endtime}
+
+ZJJ_ProxyPolicy-Insert-Ssl-大注入比率0.25
+ [Tags] selfserver ssl Hijack ip+url
+ Comment 创建url
+ ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*rutube.html
+ ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
+ ${objectids} set Variable ${objectId}
+ Comment 创建insert文件
+ ${objectedit} Create Dictionary profileName=zmminserttest format=js insertOn=before_page_load
+ Comment 打印需要修改的json内容
+ log ${objectedit}
+ ${objectDict} Jsoneditmanu ${setting_proxy_profiles_insert} ${objectedit}
+ log ${objectDict}
+ ${response} CreatePolicyFile4 /policy/profile/insertscripts insert_files/ big.js ${objectDict}
+ # 查询
+ ${profiledId} Get From Dictionary ${response} profileId
+ Comment 创建安全策略
+ ${policyDict} Create Dictionary policyName=ZJJ_SecurityPolicy-Intercept-SSL-00001 policyType=tsg_security policyDesc=autotest userTags= action=intercept effectiveRange= userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} referenceObject= isValid=${1} appObjectIdArray=3
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ #删除策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ Comment 创建管控策略
+ ${policyDict} Create Dictionary policyName=ZJJ_ProxyPolicy-Insert-SSL-00001 policyType=pxy_manipulation policyDesc=autotest userTags= action=manipulation effectiveRange= userRegion={"method":"insert","insert_profile":${profiledId},"protocol":"HTTP"} isValid=${1} appObjectIdArray=2 referenceObject=${objectId}|TSG_FIELD_HTTP_URL
+ ${rescode} ${policyId3} AddPolicy2 ${1} ${policyDict}
+ #删除策略
+ ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ Comment 功能端验证HTTP验证
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/selfserver/SecurityPolicy-Intercept-SSL-0001.bat
+ ... ELSE set variable curl \ -kv \ https://open.node.com/test/rutube/rutube.html
+ ${stringlist} run keyword if '${systemType}'=='Windows' Create List Connected to open.node.com
+ ... ELSE Create List Connected to open.node.com
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ :FOR ${n} IN RANGE 10
+ SystemCommands ${commandstr} ${stringlist}
+ END
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ #日志验证
+ ${s} Convert to String ${policyId3}
+ ${logsize} GetLogCount proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host open.node.com
+ log 22${logsize}
+ ${logsize} Convert to String ${logsize}
+ Append To File ${path}/enforcement_ratio.txt |Insert-Ssl-00001\r\n
+ Append To File ${path}/enforcement_ratio.txt |-starttime:|${starttime}\r\n
+ Append To File ${path}/enforcement_ratio.txt 0.1访问1000次logsize:|${logsize}
+ Append To File ${path}/enforcement_ratio.txt s:|${s}
+ Append To File ${path}/enforcement_ratio.txt endtime:|${endtime}
+
+ZJJ_ProxyPolicy-Insert-Ssl-小注入比率0.25
+ [Tags] selfserver ssl Hijack ip+url
+ Comment 创建url
+ ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*rutube.html
+ ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
+ ${objectids} set Variable ${objectId}
+ Comment 创建insert文件
+ ${objectedit} Create Dictionary profileName=zmminserttest format=js insertOn=before_page_load
+ Comment 打印需要修改的json内容
+ log ${objectedit}
+ ${objectDict} Jsoneditmanu ${setting_proxy_profiles_insert} ${objectedit}
+ log ${objectDict}
+ ${response} CreatePolicyFile4 /policy/profile/insertscripts insert_files/ Create-Insert Scripts-test-1.js ${objectDict}
+ # 查询
+ ${profiledId} Get From Dictionary ${response} profileId
+ Comment 创建安全策略
+ ${policyDict} Create Dictionary policyName=ZJJ_SecurityPolicy-Intercept-SSL-00001 policyType=tsg_security policyDesc=autotest userTags= action=intercept effectiveRange= userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} referenceObject= isValid=${1} appObjectIdArray=3
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ #删除策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ Comment 创建管控策略
+ ${policyDict} Create Dictionary policyName=ZJJ_ProxyPolicy-Insert-SSL-00001 policyType=pxy_manipulation policyDesc=autotest userTags= action=manipulation effectiveRange= userRegion={"method":"insert","insert_profile":${profiledId},"protocol":"HTTP"} isValid=${1} appObjectIdArray=2 referenceObject=${objectId}|TSG_FIELD_HTTP_URL
+ ${rescode} ${policyId3} AddPolicy2 ${1} ${policyDict}
+ #删除策略
+ ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ Comment 功能端验证HTTP验证
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/selfserver/SecurityPolicy-Intercept-SSL-0001.bat
+ ... ELSE set variable curl \ -kv \ https://open.node.com/test/rutube/rutube.html
+ ${stringlist} run keyword if '${systemType}'=='Windows' Create List Connected to open.node.com
+ ... ELSE Create List Connected to open.node.com
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ :FOR ${n} IN RANGE 10
+ SystemCommands ${commandstr} ${stringlist}
+ END
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ #日志验证
+ ${s} Convert to String ${policyId3}
+ ${logsize} GetLogCount proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host open.node.com
+ log 22${logsize}
+ ${logsize} Convert to String ${logsize}
+ Append To File ${path}/enforcement_ratio.txt |Insert-Ssl-00001\r\n
+ Append To File ${path}/enforcement_ratio.txt |-starttime:|${starttime}\r\n
+ Append To File ${path}/enforcement_ratio.txt 0.1访问1000次logsize:|${logsize}
+ Append To File ${path}/enforcement_ratio.txt s:|${s}
+ Append To File ${path}/enforcement_ratio.txt endtime:|${endtime}
+ZDFY_ActiveDefencePolicy-注入比率0.25
+ [Tags] flood
+
+ ${caseName} set variable ZDFY_ActiveDefencePolicy-Flood-00001
+ Comment claimed_src_ip_profile_id
+ ${response} BasePostRequest /policy/profile/claimedsrcip body={"opAction":"add","returnData":1,"claimedSrcIpList":[{"profileName":"autotest","addrType":4,"ipList":["10.3.22.0/25"],"isValid":1,"profileDesc":"autotest"}]}
+ ${claimed_src_ip_profile_id} Set Variable ${response['data']['list'][0]['profileId']}
+
+ Comment 创建带主动策略Flood
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=active_defence
+ ... policyDesc=${caseName}
+ ... action=activeDefence
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"method":"flood","l4_protocol":"TCP","target_ip":"${target_ip}","target_port":1234,"rate_pps":1,"claimed_src_ip_profile_id":${claimed_src_ip_profile_id}}
+ ... referenceObject=
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"active_defence","policyIds":[${policyId}]}
\ No newline at end of file
diff --git a/01-TestCase/zjj/ZJJ_ProxyPolicy-Hijack.robot b/01-TestCase/zjj/ZJJ_ProxyPolicy-Hijack.robot
new file mode 100644
index 0000000..26f5e58
--- /dev/null
+++ b/01-TestCase/zjj/ZJJ_ProxyPolicy-Hijack.robot
@@ -0,0 +1,99 @@
+*** Settings ***
+Test Teardown DeletePolicyAndObject ${policyIds} ${objectids}
+Force Tags zjj tsg_proxy replace
+Library OperatingSystem
+Resource ../../02-Keyword/tsg_adc/SystemCommand.robot
+Resource ../../02-Keyword/tsg_bfapi/PolicyObject.robot
+Resource ../../02-Keyword/tsg_bfapi/LogVariable.robot
+Resource ../../03-Variable/PolicyObjectDefault.txt
+Resource ../../02-Keyword/tsg_common/StmpHandle.robot
+Resource ../../03-Variable/BifangApiVariable.txt
+Library Custometest
+Library json
+
+*** Variables ***
+${policyIds} ${EMPTY}
+${objectids} ${EMPTY}
+${url} /policy/profile/responsepages
+${profiledId} ${EMPTY}
+
+*** Test Cases ***
+ZJJ_ProxyPolicy-Replace-Uri-00001
+ [Tags] selfserver
+
+ ${caseName} set variable ZJJ_ProxyPolicy-Replace-Uri-00001
+ # 创建对象-IP
+ # addItemList全参数:(为方便说明,将参数值拆分为几部分,其实际值为单条无空格/回车字符串,每部分内代表的各参数不可跳跃。)
+ # [addrType]|[protocol]|[direction]|[isSession]# 第一部分(可省略)
+ # [clientIpFormat]|[clientIp1]|[clientIp2]|[clientPort1/clientPort2]& 第二部分(不可省略)
+ # [serverIpFormat]|[serverIp1]|[serverIp2]|[serverPort1/serverPort2]| 第三部分(可省略)
+ # [isInitialize]|[itemName]|[itemDesc], 第四部分(可省略)
+ # ...
+ Comment 创建目标IP
+ ${objectDict} Create Dictionary
+ ... objectType=ip
+ ... isValid=1
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_IPobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=CIDR|192.168.100.5|32|0/0&${Default_AddItem_ServerIpFormat}|${Default_AddItem_ServerIp1}|${Default_AddItem_ServerIp2}|${Default_AddItem_ServerPort}|${Default_AddItem_IsInitialize}|${Default_AddItem_ItemName}|${Default_AddItem_ItemDesc}
+ ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
+ ${objectids} set Variable ${objectId}
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=open.node.com/action
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id}
+
+ Comment 创建安全策略,针对所有协议,相当于BlackIP
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}_IPobject
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"method":"replace","rules":[{"search_in":"http_req_body","find":"find","replace_with":"replace"},{"search_in":"http_res_body","find":"replace","replace_with":"replacetest"}],"enforcement_ratio":0.1,"protocol":"HTTP"}
+ ... referenceObject=${objectId}|TSG_SECURITY_DESTINATION_ADDR,${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ #默认客户端条件类型:clientip or clientsubid ${Default_Client_Type}
+ #... userRegion="'method':'replace','rules':[{'search_in':'http_req_uri','find':'find','replace_with':'replace'}],'enforcement_ratio':0.1,'protocol':'HTTP'"
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+ #{"objectId":5668,"protocolFields":["TSG_FIELD_HTTP_HOST"]},{"objectId":7732,"protocolFields":["TSG_FIELD_HTTP_URL"]}]}
+ #
+ ${disablePolciy} set variable {"opAction":"enable","policyList":[{"policyType":"pxy_manipulation","policyId":[${policyId}]}]}
+ EditPolicy ${disablePolciy}
+ Comment 功能端验证SSL验证
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/zjj/ZJJ_ProxyPolicy-Replace-Uri-00001.bat
+ ... ELSE set variable curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=find&setCookie=set-cookie&contentType=content-type&resBody=Response Body" https://open.node.com/action
+
+ #${stringlist} run keyword if '${systemType}'=='Windows' Create List Connection was reset
+ #... ELSE Create List Tango Secure Gateway CA X-TG-Construct-By: tfe Content-Disposition: filename="openfile.exe" Failed writing body (0 !=
+ Create List Tango Secure Gateway CA X-TG-Construct-By: tfe Content-Disposition: filename="openfile.exe" Failed writing body (0 !=
+
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ #日志验证
+ GetLogList security_event_log ${starttime} ${endtime} ${testClentIP} ${s} ssl_sni open.node.com
+
+ #{"opAction":"add","policyList":{"policyId":"","policyName":"dxytest","policyType":"pxy_manipulation","action":"manipulation","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"阿斯蒂","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"replace","rules":[{"search_in":"http_req_uri","find":"find","replace_with":"replace"}],"protocol":"HTTP"},"isValid":0,"scheduleId":[],"appObjectIdArray":[2],"referenceObject":[{"objectId":10103,"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":8337,"protocolFields":["TSG_SECURITY_DESTINATION_ADDR"]},{"objectId":5668,"protocolFields":["TSG_FIELD_HTTP_HOST"]},{"objectId":7732,"protocolFields":["TSG_FIELD_HTTP_URL"]}]}}
\ No newline at end of file
diff --git a/01-TestCase/zjj/ZJJ_ProxyPolicy-Insert.robot b/01-TestCase/zjj/ZJJ_ProxyPolicy-Insert.robot
new file mode 100644
index 0000000..cf0a249
--- /dev/null
+++ b/01-TestCase/zjj/ZJJ_ProxyPolicy-Insert.robot
@@ -0,0 +1,100 @@
+*** Settings ***
+Test Teardown DeletePolicyAndObject ${policyIds} ${objectids}
+Force Tags zjj tsg_proxy replace
+Library OperatingSystem
+Resource ../../02-Keyword/tsg_adc/SystemCommand.robot
+Resource ../../02-Keyword/tsg_bfapi/PolicyObject.robot
+Resource ../../02-Keyword/tsg_bfapi/LogVariable.robot
+Resource ../../03-Variable/PolicyObjectDefault.txt
+Resource ../../02-Keyword/tsg_common/StmpHandle.robot
+Resource ../../03-Variable/BifangApiVariable.txt
+Library Custometest
+Library json
+
+*** Variables ***
+${policyIds} ${EMPTY}
+${objectids} ${EMPTY}
+${url} /policy/profile/responsepages
+${profiledId} ${EMPTY}
+
+*** Test Cases ***
+ZJJ_ProxyPolicy-Replace-Uri-00001
+ [Tags] selfserver
+
+ ${caseName} set variable ZJJ_ProxyPolicy-Replace-Uri-00001
+ # 创建对象-IP
+ # addItemList全参数:(为方便说明,将参数值拆分为几部分,其实际值为单条无空格/回车字符串,每部分内代表的各参数不可跳跃。)
+ # [addrType]|[protocol]|[direction]|[isSession]# 第一部分(可省略)
+ # [clientIpFormat]|[clientIp1]|[clientIp2]|[clientPort1/clientPort2]& 第二部分(不可省略)
+ # [serverIpFormat]|[serverIp1]|[serverIp2]|[serverPort1/serverPort2]| 第三部分(可省略)
+ # [isInitialize]|[itemName]|[itemDesc], 第四部分(可省略)
+ # ...
+ Comment 创建目标IP
+ ${objectDict} Create Dictionary
+ ... objectType=ip
+ ... isValid=1
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_IPobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=CIDR|192.168.100.5|32|0/0&${Default_AddItem_ServerIpFormat}|${Default_AddItem_ServerIp1}|${Default_AddItem_ServerIp2}|${Default_AddItem_ServerPort}|${Default_AddItem_IsInitialize}|${Default_AddItem_ItemName}|${Default_AddItem_ItemDesc}
+ ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
+ ${objectids} set Variable ${objectId}
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=open.node.com/action
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id}
+
+ Comment 创建安全策略,针对所有协议,相当于BlackIP
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}_IPobject
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"method":"replace","rules":[{"search_in":"http_req_body","find":"find","replace_with":"replace"},{"search_in":"http_res_body","find":"replace","replace_with":"replacetest"}],"enforcement_ratio":0.1,"protocol":"HTTP"}
+ ... referenceObject=${objectId}|TSG_SECURITY_DESTINATION_ADDR,${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ #默认客户端条件类型:clientip or clientsubid ${Default_Client_Type}
+ #... userRegion="'method':'replace','rules':[{'search_in':'http_req_uri','find':'find','replace_with':'replace'}],'enforcement_ratio':0.1,'protocol':'HTTP'"
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+ #{"objectId":5668,"protocolFields":["TSG_FIELD_HTTP_HOST"]},{"objectId":7732,"protocolFields":["TSG_FIELD_HTTP_URL"]}]}
+ #
+ ${disablePolciy} set variable {"opAction":"enable","policyList":[{"policyType":"pxy_manipulation","policyId":[${policyId}]}]}
+ EditPolicy ${disablePolciy}
+ Comment 功能端验证SSL验证
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/zjj/ZJJ_ProxyPolicy-Replace-Uri-00001.bat
+ ... ELSE set variable curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=find&setCookie=set-cookie&contentType=content-type&resBody=Response Body" https://open.node.com/action
+
+ ${stringlist} run keyword if '${systemType}'=='Windows' Create List Connection was reset
+ #OpenSSL SSL_connect: Connection was reset in connection to
+ #Send failure: Connection was reset
+ ... ELSE Create List OpenSSL SSL_connect: Connection reset by peer in connection to
+
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ #日志验证
+ GetLogList security_event_log ${starttime} ${endtime} ${testClentIP} ${s} ssl_sni open.node.com
+
+ #{"opAction":"add","policyList":{"policyId":"","policyName":"dxytest","policyType":"pxy_manipulation","action":"manipulation","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"阿斯蒂","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"replace","rules":[{"search_in":"http_req_uri","find":"find","replace_with":"replace"}],"protocol":"HTTP"},"isValid":0,"scheduleId":[],"appObjectIdArray":[2],"referenceObject":[{"objectId":10103,"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":8337,"protocolFields":["TSG_SECURITY_DESTINATION_ADDR"]},{"objectId":5668,"protocolFields":["TSG_FIELD_HTTP_HOST"]},{"objectId":7732,"protocolFields":["TSG_FIELD_HTTP_URL"]}]}}
\ No newline at end of file
diff --git a/01-TestCase/zjj/ZJJ_ProxyPolicy-Redirect-SSL.robot b/01-TestCase/zjj/ZJJ_ProxyPolicy-Redirect-SSL.robot
new file mode 100644
index 0000000..2bbc5f9
--- /dev/null
+++ b/01-TestCase/zjj/ZJJ_ProxyPolicy-Redirect-SSL.robot
@@ -0,0 +1,437 @@
+*** Settings ***
+Test Teardown DeletePolicyAndObject ${policyIds} ${objectids}
+Force Tags tsg_adc Proxy_Policy
+Library OperatingSystem
+Resource ../../../02-Keyword/tsg_adc/SystemCommand.robot
+Resource ../../../02-Keyword/tsg_bfapi/PolicyObject.robot
+Resource ../../../02-Keyword/tsg_bfapi/LogVariable.robot
+Resource ../../../03-Variable/BifangApiVariable.txt
+Resource ../../../03-Variable/AllFlowCaseVariable.txt
+
+*** Variables ***
+${policyIds} ${EMPTY}
+${objectids} ${EMPTY}
+
+*** Test Cases ***
+ProxyPolicy-Redirect-ssl-00001
+ [Tags] Redirect IP+FQDN+url
+ #创建fqdn
+ ${rescodeip} ${object_FQDN_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"fqdn", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_fqdn_lj", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_fqdn_lj", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*lianjia.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ log ${object_FQDN_Id}
+ #删除对象
+ ${objectids} set Variable ${object_FQDN_Id}
+ #创建安全策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable {"opAction":"add","returnData":1,"policyList":{"policyId":"","policyName":"SecurityPolicy-Intercept-Https-00001","policyType":"tsg_security","action":"intercept","userTags":"${Default_UserTags}","doBlacklist":0,"doLog":1,"policyDesc":"${Default_PolicyDesc} ","effectiveRange":{"tag_sets":[[{"tag":"Location","value":["Almaty"],"ids":[2]},{"tag":"ISP","value":["transtel","tnsplus"],"ids":[5,6]}],[{"tag":"Location","value":["Nursurtan"],"ids":[3]},{"tag":"ISP","value":["ktel-mask","ktel-bng","ktel-mxpe"],"ids":[7,8,9]}]]},"userRegion":{"protocol":"SSL","keyring":1,"dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":1,"protocol_errors":1,"cert_pinning":1},"certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"pass-through"},"protocol_version":{"min":"ssl3","max":"tls13","mirror_client":1,"allow_http2":1},"decrypt_mirror":{"enable":0,"mirror_profile":null}},"referenceObject":[{"objectId":8718,"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":8716,"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":8719,"protocolFields":["TSG_SECURITY_DESTINATION_ADDR"]},{"objectId":8742,"protocolFields":["TSG_SECURITY_DESTINATION_ADDR"]}],"isValid":0,"scheduleId":[7],"appObjectIdArray":[3]}}
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":0, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId} AddPolicy ${addPolicyStr}
+ log ${policyId}
+ #删除安全策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ #创建管控对象url
+ ${rescodeip} ${object_url_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"url", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_url_lj", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_url_lj", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "ershoufang" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_url_Id}
+ #创建管控策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://www.bytedance.com/zh", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_FQDN_Id},"protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://www.bytedance.com/zh", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}, \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_FQDN_Id},"protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://www.bytedance.com/zh", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_FQDN_Id},"protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId3} AddPolicy ${addPolicyStr}
+ log ${policyId3}
+ ${policyId2} set variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ #删除所有策略
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ #功能端验证
+ #${commandstr} set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00001.bat
+ #${commandstr} set variable curl -kv https://bj.lianjia.com/ershoufang/
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00001.bat
+ ... ELSE set variable curl -kv https://bj.lianjia.com/ershoufang/
+ ${stringlist} Create List Tango Secure Gateway CA Host: bj.lianjia.com 302 Found Location: https://www.bytedance.com/zh
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ log ${rescode}
+ ${s} Convert to String ${policyId3}
+ GetLogList proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host lianjia.com
+
+ProxyPolicy-Redirect-ssl-00004
+ [Tags] Redirect IP+FQDN+请求body selfserver
+ #创建fqdn
+ ${rescodeip} ${object_FQDN_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"fqdn", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_fqdn_bk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_fqdn_bk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*open.node.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ log ${object_FQDN_Id}
+ #删除对象
+ ${objectids} set Variable ${object_FQDN_Id}
+ #创建安全策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":0, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId} AddPolicy ${addPolicyStr}
+ log ${policyId}
+ #删除安全策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ #创建管控对象url
+ ${rescodeip} ${object_url_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"url", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_url_bk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_url_bk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "action" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_url_Id}
+ #创建body对象
+ ${rescodeip} ${object_body_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"keywords", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_body_bk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_body_bk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "123456" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "12312" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_body_Id}
+ #创建管控策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00004", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "http://live.gushidaoshi.com/rank", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_body_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_CONTENT"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00004", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "http://live.gushidaoshi.com/rank", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ {"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},\ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_body_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_CONTENT"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00004", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "http://live.gushidaoshi.com/rank", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_body_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_CONTENT"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId3} AddPolicy ${addPolicyStr}
+ log ${policyId3}
+ ${policyId2} set variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ #删除所有策略
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ #功能端验证
+ #${commandstr} set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00004.bat
+ #${commandstr} set variable curl -kv -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=123456&setCookie=set-cookie&contentType=content-type&resBody=Response Body" https://open.node.com/action
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00004.bat
+ ... ELSE set variable curl -kv -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=123456&setCookie=set-cookie&contentType=content-type&resBody=Response Body" https://open.node.com/action
+ ${stringlist} Create List Tango Secure Gateway CA Host: open.node.com 301 Moved Permanently Location: http://live.gushidaoshi.com/rank
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ log ${rescode}
+ ${s} Convert to String ${policyId3}
+ GetLogList proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host open.node.com
+
+ProxyPolicy-Redirect-ssl-00005
+ [Tags] Redirect ip+url
+ #创建fqdn
+ ${rescodeip} ${object_FQDN_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"fqdn", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_fqdn_youtube", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_fqdn_tt", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "$www.toutiao.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ log ${object_FQDN_Id}
+ #删除对象
+ ${objectids} set Variable ${object_FQDN_Id}
+ #创建安全策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":0, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId} AddPolicy ${addPolicyStr}
+ log ${policyId}
+ #删除安全策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ #创建管控对象url
+ ${rescodeip} ${object_url_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"url", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_url_tt", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_url_tt", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "www.toutiao.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_url_Id}
+ #创建管控策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00005", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "http://video.cnfol.com/wptzj/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00005", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "http://video.cnfol.com/wptzj/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00005", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "http://video.cnfol.com/wptzj/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId3} AddPolicy ${addPolicyStr}
+ log ${policyId3}
+ ${policyId2} set variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ #删除所有策略
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ #功能端验证
+ #${commandstr} set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00005.bat
+ #${commandstr} set variable curl -kv https://www.toutiao.com/ch/news_hot/
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00005.bat
+ ... ELSE set variable curl -kv https://www.toutiao.com/ch/news_hot/
+ ${stringlist} Create List Tango Secure Gateway CA Host: www.toutiao.com 302 Found Location: http://video.cnfol.com/wptzj/
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ log ${rescode}
+ ${s} Convert to String ${policyId3}
+ GetLogList proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host www.toutiao.com
+
+ProxyPolicy-Redirect-ssl-00007
+ [Tags] Redirect 请求UA+url
+ #创建fqdn
+ ${rescodeip} ${object_FQDN_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"fqdn", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_fqdn_gk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_fqdn_gk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*gamersky.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ log ${object_FQDN_Id}
+ #删除对象
+ ${objectids} set Variable ${object_FQDN_Id}
+ #创建安全策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":0, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId} AddPolicy ${addPolicyStr}
+ log ${policyId}
+ #删除安全策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ #创建管控对象url
+ ${rescodeip} ${object_url_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"url", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_url_gk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_url_gk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "gamersky.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_url_Id}
+ #创建UA对象
+ ${rescodeip} ${object_UA_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"jwc_http_UA","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["Mozilla/5.0*"],"isHexbin":0,"district":"User-Agent"}],"updateItemList":[],"deleteItemIds":[]}}
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_UA_Id}
+ #创建管控策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00007", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "http://video.cnfol.com/wptzj/", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_UA_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_HDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00007", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "http://video.cnfol.com/wptzj/", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_UA_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_HDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00007", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "http://video.cnfol.com/wptzj/", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_UA_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_HDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId3} AddPolicy ${addPolicyStr}
+ log ${policyId3}
+ ${policyId2} set variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ #删除所有策略
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ #功能端验证
+ #${commandstr} set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00007.bat
+ #${commandstr} set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' https://www.gamersky.com/news/
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00007.bat
+ ... ELSE set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' https://www.gamersky.com/news/
+ ${stringlist} Create List Tango Secure Gateway CA Host: www.gamersky.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 301 Moved Permanently Location: http://video.cnfol.com/wptzj/
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ log ${rescode}
+ ${s} Convert to String ${policyId3}
+ GetLogList proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host www.gamersky.com
+
+ProxyPolicy-Redirect-ssl-00008
+ [Tags] Redirect 应答CT+url
+ #创建fqdn
+ ${rescodeip} ${object_FQDN_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"fqdn", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_fqdn_nk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_fqdn_nk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*nationalbank.kz" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ log ${object_FQDN_Id}
+ #删除对象
+ ${objectids} set Variable ${object_FQDN_Id}
+ #创建安全策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":0, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId} AddPolicy ${addPolicyStr}
+ log ${policyId}
+ #删除安全策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ #创建管控对象url
+ ${rescodeip} ${object_url_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"url", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_url_nk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_url_nk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "nationalbank" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_url_Id}
+ #创建CT对象
+ ${rescodeip} ${object_CT_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"jwc_http_CT","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["text/html; charse*"],"isHexbin":0,"district":"Content-Type"}],"updateItemList":[],"deleteItemIds":[]}}
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_CT_Id}
+ #创建管控策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00008", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://open.douyin.com/platform/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_CT_Id},"protocolFields":["TSG_FIELD_HTTP_RES_HDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00008", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://open.douyin.com/platform/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_CT_Id},"protocolFields":["TSG_FIELD_HTTP_RES_HDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00008", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://open.douyin.com/platform/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_CT_Id},"protocolFields":["TSG_FIELD_HTTP_RES_HDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId3} AddPolicy ${addPolicyStr}
+ log ${policyId3}
+ ${policyId2} set variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ #删除所有策略
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ #功能端验证
+ #${commandstr} set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00008.bat
+ #${commandstr} set variable curl -kv https://nationalbank.kz/
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00008.bat
+ ... ELSE set variable curl -kv https://nationalbank.kz/
+ ${stringlist} Create List Tango Secure Gateway CA Host: nationalbank.kz 302 Found Location: https://open.douyin.com/platform/
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ log ${rescode}
+ ${s} Convert to String ${policyId3}
+ GetLogList proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host nationalbank.kz
+
+ProxyPolicy-Redirect-ssl-00009
+ [Tags] Redirect 请求body+url selfserver
+ #创建fqdn
+ ${rescodeip} ${object_FQDN_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"fqdn", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_fqdn_bk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_fqdn_bk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*open.node.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ log ${object_FQDN_Id}
+ #删除对象
+ ${objectids} set Variable ${object_FQDN_Id}
+ #创建安全策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":0, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId} AddPolicy ${addPolicyStr}
+ log ${policyId}
+ #删除安全策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ #创建管控对象url
+ ${rescodeip} ${object_url_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"url", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_url_bk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_url_bk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "action" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_url_Id}
+ #创建body对象
+ ${rescodeip} ${object_body_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"keywords", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_body_bk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_body_bk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "123456" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "12312" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_body_Id}
+ #创建管控策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00009", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://open.douyin.com/platform/", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_body_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_CONTENT"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00009", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://open.douyin.com/platform/", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_body_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_CONTENT"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00009", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://open.douyin.com/platform/", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_body_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_CONTENT"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId3} AddPolicy ${addPolicyStr}
+ log ${policyId3}
+ ${policyId2} set variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ #删除所有策略
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ #功能端验证
+ #${commandstr} set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00009.bat
+ #${commandstr} set variable curl -kv -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=123456&setCookie=set-cookie&contentType=content-type&resBody=Response Body" https://open.node.com/action
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00009.bat
+ ... ELSE set variable curl -kv -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=123456&setCookie=set-cookie&contentType=content-type&resBody=Response Body" https://open.node.com/action
+ ${stringlist} Create List Tango Secure Gateway CA Host: open.node.com 301 Moved Permanently Location: https://open.douyin.com/platform/
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ log ${rescode}
+ ${s} Convert to String ${policyId3}
+ GetLogList proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host open.node.com
+
+ProxyPolicy-Redirect-ssl-00010
+ [Tags] Redirect IP+cat+url+请求UA+应答CT(英文)
+ #创建fqdn
+ ${rescodeip} ${object_FQDN_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"fqdn", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_fqdn_youtube", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_fqdn_tt", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*twitch.tv" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ log ${object_FQDN_Id}
+ #删除对象
+ ${objectids} set Variable ${object_FQDN_Id}
+ #创建安全策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":0, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId} AddPolicy ${addPolicyStr}
+ log ${policyId}
+ #删除安全策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ #创建管控对象url
+ ${rescodeip} ${object_url_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"url", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_url_tt", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_url_tt", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "directory" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_url_Id}
+ #创建UA对象
+ ${rescodeip} ${object_UA_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"jwc_http_UA","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["Mozilla/5.0*"],"isHexbin":0,"district":"User-Agent"}],"updateItemList":[],"deleteItemIds":[]}}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_UA_Id}
+ #创建CT对象
+ ${rescodeip} ${object_CT_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"jwc_http_CT","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["text/html"],"isHexbin":0,"district":"Content-Type"}],"updateItemList":[],"deleteItemIds":[]}}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_CT_Id}
+ #创建管控策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00010", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://vk.com/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_CT_Id},"protocolFields": ["TSG_FIELD_HTTP_RES_HDR"]},{"objectId":${object_UA_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_HDR"]},{"objectId":${object_FQDN_Id},"protocolFields":["TSG_FIELD_HTTP_HOST"]},{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00010", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://vk.com/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_CT_Id},"protocolFields": ["TSG_FIELD_HTTP_RES_HDR"]},{"objectId":${object_UA_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_HDR"]},{"objectId":${object_FQDN_Id},"protocolFields":["TSG_FIELD_HTTP_HOST"]},{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00010", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://vk.com/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_CT_Id},"protocolFields": ["TSG_FIELD_HTTP_RES_HDR"]},{"objectId":${object_UA_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_HDR"]},{"objectId":${object_FQDN_Id},"protocolFields":["TSG_FIELD_HTTP_HOST"]},{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId3} AddPolicy ${addPolicyStr}
+ log ${policyId3}
+ ${policyId2} set variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ #删除所有策略
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ #功能端验证
+ #${commandstr} set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00010.bat
+ #${commandstr} set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' https://www.twitch.tv/directory
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00010.bat
+ ... ELSE set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' https://www.twitch.tv/directory
+ ${stringlist} Create List Tango Secure Gateway CA Host: www.twitch.tv User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 302 Found Location: https://vk.com/
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ log ${rescode}
+ ${s} Convert to String ${policyId3}
+ GetLogList proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host twitch.tv
+
+ProxyPolicy-Redirect-ssl-00011
+ [Tags] Redirect IP+FQDN+url(俄文)
+ #创建fqdn
+ ${rescodeip} ${object_FQDN_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"fqdn", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_fqdn_youtube", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_fqdn_tt", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*zakon.kz" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ log ${object_FQDN_Id}
+ #删除对象
+ ${objectids} set Variable ${object_FQDN_Id}
+ #创建安全策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":0, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId} AddPolicy ${addPolicyStr}
+ log ${policyId}
+ #删除安全策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ #创建管控对象url
+ ${rescodeip} ${object_url_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"url", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_url_tt", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_url_tt", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "www.zakon.kz/top_news/" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_url_Id}
+ #创建管控策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00011", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://www.nur.kz/", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_FQDN_Id},"protocolFields":["TSG_FIELD_HTTP_HOST"]},{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00011", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://www.nur.kz/", "code": 301,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_FQDN_Id},"protocolFields":["TSG_FIELD_HTTP_HOST"]},{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE
+ ${rescode} ${policyId3} AddPolicy ${addPolicyStr}
+ log ${policyId3}
+ ${policyId2} set variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ #删除所有策略
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ #功能端验证
+ #${commandstr} set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00011.bat
+ #${commandstr} set variable curl -kv https://www.zakon.kz/top_news/
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00011.bat
+ ... ELSE set variable curl -kv https://www.zakon.kz/top_news/
+ ${stringlist} Create List Tango Secure Gateway CA Host: www.zakon.kz 301 Moved Permanently Location: https://www.nur.kz/
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ log ${rescode}
+ ${s} Convert to String ${policyId3}
+ GetLogList proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host zakon.kz
+
+ProxyPolicy-Redirect-ssl-00012
+ [Tags] Redirect selfserver 请求body(俄文)+url
+ #创建fqdn
+ ${rescodeip} ${object_FQDN_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"fqdn", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_fqdn_bk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_fqdn_bk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*open.node.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ log ${object_FQDN_Id}
+ #删除对象
+ ${objectids} set Variable ${object_FQDN_Id}
+ #创建安全策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":0, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_SSL_SNI"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"SecurityPolicy-Intercept-Https-00001", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"tsg_security", \ \ \ \ \ \ \ \ \ \ \ \ "action":"intercept", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ \ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"SSL", \ \ \ \ "protocol_version":{"allow_http2":1, \ \ \ \ \ \ \ \ \ \ "min":"ssl3", \ \ \ \ \ \ \ \ \ "max":"tls13", \ \ \ \ \ \ \ \ \ "mirror_client":1}, \ \ \ \ "dynamic_bypass":{"mutual_authentication":1, \ \ \ \ "cert_pinning":1,"cert_transparency":0, \ \ \ \ "protocol_errors":1,"ev_cert":0}, \ \ \ \ "decrypt_mirror":{"enable":0}, \ \ \ \ "certificate_checks":{"fail_action":"pass-through", \ \ \ \ "approach":{"self-signed":1, \ \ \ \ "expiration":1, \ \ \ \ "cn":1, \ \ \ \ "issuer":1}}, \ \ \ \ "keyring":1}, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${object_FQDN_Id}, \ \ \ \ \ \ \ \ "protocolFields":["TSG_FIELD_HTTP_HOST"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[3] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId} AddPolicy ${addPolicyStr}
+ log ${policyId}
+ #删除安全策略
+ ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyId}]}
+ ${policyIds} Create List ${policyId1}
+ #创建管控对象url
+ ${rescodeip} ${object_url_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"url", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_url_bk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_url_bk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "action" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "*jd.com" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_url_Id}
+ #创建body对象
+ ${rescodeip} ${object_body_Id} AddObject { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "objectList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "objectType":"keywords", \ \ \ \ \ \ \ \ \ \ \ \ "objectName":"jwc_body_bk", \ \ \ \ \ \ \ \ \ \ \ \ "objectDesc":"jwc_body_bk", \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0, \ \ \ \ \ \ \ \ \ \ \ \ "isExclusion":0, \ \ \ \ \ \ \ \ \ \ \ \ "subObjectIds":[], \ \ \ \ \ \ \ \ \ \ \ \ "addItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "рускйсекс" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemName":"item name", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "itemDesc":"item description", \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "keywordArray":[ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "12312" \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isHexbin":0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "isInitialize":0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ } \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "updateItemList":[ \ \ \ \ \ \ \ \ \ \ \ \ ], \ \ \ \ \ \ \ \ \ \ \ \ "deleteItemIds":[ \ \ \ \ \ \ \ \ \ \ \ \ ] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ #删除对象
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_body_Id}
+ #创建管控策略
+ #${addPolicyStr} set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00009", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://open.douyin.com/platform/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_body_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_CONTENT"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${addPolicyStr} run keyword if '${addTestClentIPFlag}'=='1' set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00009", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://open.douyin.com/platform/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[{"objectId":${testClentID},"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_body_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_CONTENT"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ... ELSE set variable { \ \ \ \ "opAction":"add", \ \ \ \ "returnData":1, \ \ \ \ "policyList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "policyId":"", \ \ \ \ \ \ \ \ \ \ \ \ "isValid":1, \ \ \ \ \ \ \ \ \ \ \ \ "policyName":"ProxyPolicy-Redirect-Https-00009", \ \ \ \ \ \ \ \ \ \ \ \ "policyType":"pxy_manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "action":"manipulation", \ \ \ \ \ \ \ \ \ \ \ \ "userTags":"", \ \ \ \ \ \ \ \ \ \ \ \ "doBlacklist":0, \ \ \ \ \ \ \ \ \ \ \ \ "doLog":1, \ \ \ \ \ \ \ \ \ \ \ \ "userRegion":{ "method": "redirect", "to": "https://open.douyin.com/platform/", "code": 302,\ \ \ \ \ \ \ \ \ \ \ \ \ "protocol":"HTTP" \ \ \ \ }, \ \ \ \ \ \ \ \ \ \ \ \ "referenceObject":[ \ \ \ \ \ \ \ \ {"objectId":${object_url_Id},"protocolFields": ["TSG_FIELD_HTTP_URL"]},{"objectId":${object_body_Id},"protocolFields":["TSG_FIELD_HTTP_REQ_CONTENT"]}], \ \ \ \ \ \ \ \ \ \ \ \ "scheduleId":[],"appObjectIdArray":[2] \ \ \ \ \ \ \ \ } \ \ \ \ ] }
+ ${rescode} ${policyId3} AddPolicy ${addPolicyStr}
+ log ${policyId3}
+ ${policyId2} set variable {"policyType":"pxy_manipulation","policyIds":[${policyId3}]}
+ #删除所有策略
+ ${policyIds} Create List ${policyId1} ${policyId2}
+ #功能端验证
+ #${commandstr} set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00012.bat
+ #${commandstr} set variable curl -kv -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=рускйсекс&setCookie=set-cookie&contentType=content-type&resBody=Response Body" https://open.node.com/action
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/ProxyPolicy_Redirect_ssl00012.bat
+ ... ELSE set variable curl -kv -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=рускйсекс&setCookie=set-cookie&contentType=content-type&resBody=Response Body" https://open.node.com/action
+ ${stringlist} Create List Tango Secure Gateway CA Host: open.node.com 302 Found Location: https://open.douyin.com/platform/
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ log ${rescode}
+ ${s} Convert to String ${policyId3}
+ GetLogList proxy_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host open.node.com
diff --git a/01-TestCase/zjj/ZJJ_ProxyPolicy-Replace2.robot b/01-TestCase/zjj/ZJJ_ProxyPolicy-Replace2.robot
new file mode 100644
index 0000000..74feab8
--- /dev/null
+++ b/01-TestCase/zjj/ZJJ_ProxyPolicy-Replace2.robot
@@ -0,0 +1,654 @@
+*** Settings ***
+Test Teardown DeletePolicyAndObject ${policyIds} ${objectids}
+Force Tags zjj tsg_proxy replace
+Library OperatingSystem
+Resource ../../02-Keyword/tsg_adc/SystemCommand.robot
+Resource ../../02-Keyword/tsg_bfapi/PolicyObject.robot
+Resource ../../02-Keyword/tsg_bfapi/LogVariable.robot
+Resource ../../03-Variable/PolicyObjectDefault.txt
+Resource ../../02-Keyword/tsg_common/StmpHandle.robot
+Resource ../../03-Variable/BifangApiVariable.txt
+Library Custometest
+Library json
+
+*** Variables ***
+${policyIds} ${EMPTY}
+${objectids} ${EMPTY}
+${url} /policy/profile/decryption
+${profiledId} ${EMPTY}
+
+*** Test Cases ***
+#添加测试数据
+ZJJ_ProxyPolicy-131Replace-ResbodyReqbocy-00001
+ [Tags] selfserver SIP+DIP+URL
+ ${caseName} set variable ZJJ_ProxyPolicy-131Replace-ResbodyReqbocy-00001
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=www.baidu.com
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} set variable ${objectids} ${object_URL_Id}
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=fqdn
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_fqdnobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$www.baidu.com
+ ${rescode} ${object_FQDN_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_FQDN_Id}
+ #{"opAction":"add","returnData":0,"list":[{"profileName":"dxytest","profileDesc":"","isValid":1,"decryption":{"dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1},"certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"},"protocol_version":{"min":"ssl3","max":"tls13","mirror_client":1,"allow_http2":1}}}]}
+ ${dynamic_bypass} set variable "dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1}
+ ${protocol_version} set variable "protocol_version":{"min":"ssl3","max":"tls13","mirror_client":1,"allow_http2":1}
+ ${certificate_checks} set variable "certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"}
+ ${requestbody} set variable {"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","profileDesc":"autotest_decryption_add","isValid":1,"decryption":{${dynamic_bypass},${certificate_checks},${protocol_version}}}]}
+ #{"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","decryption":{${dynamic_bypass},${protocol_version},${certificate_checks}},"isValid":1,"profileDesc":"autotest"}]}}
+ ${data} set variable ${requestbody}
+ ${response} CreatePolicyFileNoFile ${url} ${data}
+ ${decryption_profile} Get From Dictionary ${response} profileId
+ Comment 创建拦截策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=tsg_security
+ ... policyDesc=${caseName}
+ ... action=intercept
+ ... effectiveRange=${Default_EffectiveRange}
+ #... userRegion={"protocol":"SSL","protocol_version":{"allow_http2":1,"min":"ssl3","max":"tls13","mirror_client":1},"dynamic_bypass":{"mutual_authentication":1,"cert_pinning":1,"cert_transparency":0,"protocol_errors":1,"ev_cert":0},"decrypt_mirror":{"enable":0},"certificate_checks":{"fail_action":"pass-through","approach":{"self-signed":1,"expiration":1,"cn":1,"issuer":1}},"keyring":1}
+ ... userRegion={"protocol":"SSL","keyring":1,"decryption":${decryption_profile},"decrypt_mirror":{"enable":0,"mirror_profile":null}}
+ ... referenceObject=${object_FQDN_Id}|TSG_FIELD_SSL_SNI
+ ... isValid=1
+ ... appObjectIdArray=${3}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+
+ ${rescode} ${securitypolicyId} AddPolicy2 ${1} ${policyDict}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]}
+
+
+ Comment 创建带有比例的替换策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"method":"replace","rules":[{"search_in":"http_req_body","find":"find","replace_with":"replace"},{"search_in":"http_resp_body","find":"replace","replace_with":"replacetest"}],"enforcement_ratio":0.5,"protocol":"HTTP"}
+ ... referenceObject=${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]} {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+
+ZJJ_ProxyPolicy-131Replace-ResbodyReqbocy-00002
+ [Tags] selfserver SIP+DIP+URL
+ ${caseName} set variable ZJJ_ProxyPolicy-131Replace-ResbodyReqbocy-00002
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=www.jd.com
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id}
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=fqdn
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_fqdnobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$www.jd.com
+ ${rescode} ${object_FQDN_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_FQDN_Id}
+
+ ${dynamic_bypass} set variable "dynamic_bypass":{"ev_cert":1,"cert_transparency":1,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1}
+ ${protocol_version} set variable "protocol_version":{"min":"","max":"","mirror_client":1,"allow_http2":1}
+ ${certificate_checks} set variable "certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"}
+ ${requestbody} set variable {"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","decryption":{${dynamic_bypass},${protocol_version},${certificate_checks}},"isValid":1,"isInitialize":0,"profileDesc":""}]}
+ ${data} set variable ${requestbody}
+ ${response} CreatePolicyFileNoFile ${url} ${data}
+ ${decryption_profile} Get From Dictionary ${response} profileId
+ Comment 创建拦截策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=tsg_security
+ ... policyDesc=${caseName}
+ ... action=intercept
+ ... effectiveRange=${Default_EffectiveRange}
+ #... userRegion={"protocol":"SSL","protocol_version":{"allow_http2":1,"min":"ssl3","max":"tls13","mirror_client":1},"dynamic_bypass":{"mutual_authentication":1,"cert_pinning":1,"cert_transparency":0,"protocol_errors":1,"ev_cert":0},"decrypt_mirror":{"enable":0},"certificate_checks":{"fail_action":"pass-through","approach":{"self-signed":1,"expiration":1,"cn":1,"issuer":1}},"keyring":1}
+ ... userRegion={"protocol":"SSL","keyring":1,"decryption":${decryption_profile},"decrypt_mirror":{"enable":0,"mirror_profile":null}}
+ ... referenceObject=${object_FQDN_Id}|TSG_FIELD_SSL_SNI
+ ... isValid=1
+ ... appObjectIdArray=${3}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+
+ ${rescode} ${securitypolicyId} AddPolicy2 ${1} ${policyDict}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]}
+
+
+ Comment 创建带有比例的替换策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"method":"replace","rules":[{"search_in":"http_req_body","find":"find","replace_with":"replace"},{"search_in":"http_resp_body","find":"replace","replace_with":"replacetest"}],"enforcement_ratio":0.9999,"protocol":"HTTP"}
+ ... referenceObject=${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]} {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+
+
+#添加测试数据
+ZJJ_ProxyPolicy-131Redirect-00001
+ [Tags] selfserver SIP+DIP+URL
+ ${caseName} set variable ZJJ_ProxyPolicy-131Redirect-00001
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=www.tmall.com
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} set variable ${objectids} ${object_URL_Id}
+
+ #创建fqdn
+ ${objectDict} Create Dictionary
+ ... objectType=fqdn
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_fqdnobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$www.tmall.com
+ ${rescode} ${object_FQDN_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_FQDN_Id}
+ #{"opAction":"add","returnData":0,"list":[{"profileName":"dxytest","profileDesc":"","isValid":1,"decryption":{"dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1},"certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"},"protocol_version":{"min":"ssl3","max":"tls13","mirror_client":1,"allow_http2":1}}}]}
+ ${dynamic_bypass} set variable "dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1}
+ ${protocol_version} set variable "protocol_version":{"min":"ssl3","max":"tls13","mirror_client":1,"allow_http2":1}
+ ${certificate_checks} set variable "certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"}
+ ${requestbody} set variable {"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","profileDesc":"autotest_decryption_add","isValid":1,"decryption":{${dynamic_bypass},${certificate_checks},${protocol_version}}}]}
+ #{"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","decryption":{${dynamic_bypass},${protocol_version},${certificate_checks}},"isValid":1,"profileDesc":"autotest"}]}}
+ ${data} set variable ${requestbody}
+ ${response} CreatePolicyFileNoFile ${url} ${data}
+ ${decryption_profile} Get From Dictionary ${response} profileId
+ Comment 创建拦截策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=tsg_security
+ ... policyDesc=${caseName}
+ ... action=intercept
+ ... effectiveRange=${Default_EffectiveRange}
+ #... userRegion={"protocol":"SSL","protocol_version":{"allow_http2":1,"min":"ssl3","max":"tls13","mirror_client":1},"dynamic_bypass":{"mutual_authentication":1,"cert_pinning":1,"cert_transparency":0,"protocol_errors":1,"ev_cert":0},"decrypt_mirror":{"enable":0},"certificate_checks":{"fail_action":"pass-through","approach":{"self-signed":1,"expiration":1,"cn":1,"issuer":1}},"keyring":1}
+ ... userRegion={"protocol":"SSL","keyring":1,"decryption":${decryption_profile},"decrypt_mirror":{"enable":0,"mirror_profile":null}}
+ ... referenceObject=${object_FQDN_Id}|TSG_FIELD_SSL_SNI
+ ... isValid=1
+ ... appObjectIdArray=${3}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+
+ ${rescode} ${securitypolicyId} AddPolicy2 ${1} ${policyDict}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]}
+
+ #{"opAction":"add","policyList":{"policyId":"","policyName":"dxytest","policyType":"pxy_manipulation","action":"manipulation",
+ #"userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},
+ #"userRegion":{"method":"redirect","to":"https://zhidao.baidu.com","code":302,"protocol":"HTTP"},
+ #"isValid":0,"scheduleId":[],"appObjectIdArray":[2],"referenceObject":[{"objectId":1192,"protocolFields":["TSG_SECURITY_DESTINATION_ADDR"]},{"objectId":1194,"protocolFields":["TSG_FIELD_HTTP_URL"]}]}}
+ Comment 创建带有比例的替换策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"method":"redirect","to":"https://zhidao.baidu.com","code":302,"enforcement_ratio":0.5,"protocol":"HTTP"}
+ ... referenceObject=${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]} {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+
+ZJJ_ProxyPolicy-131Redirect-00002
+ [Tags] selfserver SIP+DIP+URL
+ ${caseName} set variable ZJJ_ProxyPolicy-131Redirect-00002
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=www.vip.com
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id}
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=fqdn
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_fqdnobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$www.vip.com
+ ${rescode} ${object_FQDN_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_FQDN_Id}
+
+ ${dynamic_bypass} set variable "dynamic_bypass":{"ev_cert":1,"cert_transparency":1,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1}
+ ${protocol_version} set variable "protocol_version":{"min":"","max":"","mirror_client":1,"allow_http2":1}
+ ${certificate_checks} set variable "certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"}
+ ${requestbody} set variable {"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","decryption":{${dynamic_bypass},${protocol_version},${certificate_checks}},"isValid":1,"isInitialize":0,"profileDesc":""}]}
+ ${data} set variable ${requestbody}
+ ${response} CreatePolicyFileNoFile ${url} ${data}
+ ${decryption_profile} Get From Dictionary ${response} profileId
+ Comment 创建拦截策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=tsg_security
+ ... policyDesc=${caseName}
+ ... action=intercept
+ ... effectiveRange=${Default_EffectiveRange}
+ #... userRegion={"protocol":"SSL","protocol_version":{"allow_http2":1,"min":"ssl3","max":"tls13","mirror_client":1},"dynamic_bypass":{"mutual_authentication":1,"cert_pinning":1,"cert_transparency":0,"protocol_errors":1,"ev_cert":0},"decrypt_mirror":{"enable":0},"certificate_checks":{"fail_action":"pass-through","approach":{"self-signed":1,"expiration":1,"cn":1,"issuer":1}},"keyring":1}
+ ... userRegion={"protocol":"SSL","keyring":1,"decryption":${decryption_profile},"decrypt_mirror":{"enable":0,"mirror_profile":null}}
+ ... referenceObject=${object_FQDN_Id}|TSG_FIELD_SSL_SNI
+ ... isValid=1
+ ... appObjectIdArray=${3}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+
+ ${rescode} ${securitypolicyId} AddPolicy2 ${1} ${policyDict}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]}
+
+
+ Comment 创建带有比例的替换策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ #... userRegion={"method":"replace","rules":[{"search_in":"http_req_body","find":"find","replace_with":"replace"},{"search_in":"http_resp_body","find":"replace","replace_with":"replacetest"}],"enforcement_ratio":1,"protocol":"HTTP"}
+ ... userRegion={"method":"redirect","to":"http://image.baidu.com/","code":301,"enforcement_ratio":0.9999,"protocol":"HTTP"}
+ ... referenceObject=${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]} {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+
+
+
+ #添加测试数据
+ZJJ_ProxyPolicy-131Hjack-00001
+ [Tags] selfserver SIP+DIP+URL
+ ${caseName} set variable ZJJ_ProxyPolicy-131Hjack-00001
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=www.126.com
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} set variable ${objectids} ${object_URL_Id}
+
+ #创建fqdn
+ ${objectDict} Create Dictionary
+ ... objectType=fqdn
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_fqdnobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$www.126.com
+ ${rescode} ${object_FQDN_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_FQDN_Id}
+ #{"opAction":"add","returnData":0,"list":[{"profileName":"dxytest","profileDesc":"","isValid":1,"decryption":{"dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1},"certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"},"protocol_version":{"min":"ssl3","max":"tls13","mirror_client":1,"allow_http2":1}}}]}
+ ${dynamic_bypass} set variable "dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1}
+ ${protocol_version} set variable "protocol_version":{"min":"ssl3","max":"tls13","mirror_client":1,"allow_http2":1}
+ ${certificate_checks} set variable "certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"}
+ ${requestbody} set variable {"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","profileDesc":"autotest_decryption_add","isValid":1,"decryption":{${dynamic_bypass},${certificate_checks},${protocol_version}}}]}
+ #{"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","decryption":{${dynamic_bypass},${protocol_version},${certificate_checks}},"isValid":1,"profileDesc":"autotest"}]}}
+ ${data} set variable ${requestbody}
+ ${response} CreatePolicyFileNoFile ${url} ${data}
+ ${decryption_profile} Get From Dictionary ${response} profileId
+ Comment 创建拦截策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=tsg_security
+ ... policyDesc=${caseName}
+ ... action=intercept
+ ... effectiveRange=${Default_EffectiveRange}
+ #... userRegion={"protocol":"SSL","protocol_version":{"allow_http2":1,"min":"ssl3","max":"tls13","mirror_client":1},"dynamic_bypass":{"mutual_authentication":1,"cert_pinning":1,"cert_transparency":0,"protocol_errors":1,"ev_cert":0},"decrypt_mirror":{"enable":0},"certificate_checks":{"fail_action":"pass-through","approach":{"self-signed":1,"expiration":1,"cn":1,"issuer":1}},"keyring":1}
+ ... userRegion={"protocol":"SSL","keyring":1,"decryption":${decryption_profile},"decrypt_mirror":{"enable":0,"mirror_profile":null}}
+ ... referenceObject=${object_FQDN_Id}|TSG_FIELD_SSL_SNI
+ ... isValid=1
+ ... appObjectIdArray=${3}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+
+ ${rescode} ${securitypolicyId} AddPolicy2 ${1} ${policyDict}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]}
+
+ #{"opAction":"add","policyList":{"policyId":"","policyName":"dxytest","policyType":"pxy_manipulation","action":"manipulation","userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"",
+ #"effectiveRange":{"tag_sets":[[]]},
+ #"userRegion":{"method":"hijack","hijack_profile":2,"protocol":"HTTP"}
+ #,"isValid":0,"scheduleId":[],"appObjectIdArray":[2],"referenceObject":[{"objectId":1192,"protocolFields":["TSG_SECURITY_DESTINATION_ADDR"]},{"objectId":1187,"protocolFields":["TSG_FIELD_HTTP_URL"]}]}}
+ Comment 创建带有比例的替换策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"method":"hijack","hijack_profile":2,"enforcement_ratio":0.5,"protocol":"HTTP"}
+ ... referenceObject=${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]} {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+
+ZJJ_ProxyPolicy-131Hjack-00002
+ [Tags] selfserver SIP+DIP+URL
+ ${caseName} set variable ZJJ_ProxyPolicy-131Hjack-00002
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=www.jd.com
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} set variable ${object_URL_Id}
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=fqdn
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_fqdnobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$www.jd.com
+ ${rescode} ${object_FQDN_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_FQDN_Id}
+
+ ${dynamic_bypass} set variable "dynamic_bypass":{"ev_cert":1,"cert_transparency":1,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1}
+ ${protocol_version} set variable "protocol_version":{"min":"","max":"","mirror_client":1,"allow_http2":1}
+ ${certificate_checks} set variable "certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"}
+ ${requestbody} set variable {"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","decryption":{${dynamic_bypass},${protocol_version},${certificate_checks}},"isValid":1,"isInitialize":0,"profileDesc":""}]}
+ ${data} set variable ${requestbody}
+ ${response} CreatePolicyFileNoFile ${url} ${data}
+ ${decryption_profile} Get From Dictionary ${response} profileId
+ Comment 创建拦截策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=tsg_security
+ ... policyDesc=${caseName}
+ ... action=intercept
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"protocol":"SSL","keyring":1,"decryption":${decryption_profile},"decrypt_mirror":{"enable":0,"mirror_profile":null}}
+ ... referenceObject=${object_FQDN_Id}|TSG_FIELD_SSL_SNI
+ ... isValid=1
+ ... appObjectIdArray=${3}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+
+ ${rescode} ${securitypolicyId} AddPolicy2 ${1} ${policyDict}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]}
+
+
+ Comment 创建带有比例的替换策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ #... userRegion={"method":"replace","rules":[{"search_in":"http_req_body","find":"find","replace_with":"replace"},{"search_in":"http_resp_body","find":"replace","replace_with":"replacetest"}],"enforcement_ratio":1,"protocol":"HTTP"}
+ ... userRegion={"method":"hijack","hijack_profile":2,"enforcement_ratio":0.9999,"protocol":"HTTP"}
+ ... referenceObject=${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]} {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+ #添加测试数据
+ZJJ_ProxyPolicy-131Insert-00001
+ [Tags] selfserver SIP+DIP+URL
+ ${caseName} set variable ZJJ_ProxyPolicy-131Insert-00001
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=www.tmall.com
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} set variable ${objectids} ${object_URL_Id}
+
+ #创建fqdn
+ ${objectDict} Create Dictionary
+ ... objectType=fqdn
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_fqdnobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$www.tmall.com
+ ${rescode} ${object_FQDN_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_FQDN_Id}
+ #{"opAction":"add","returnData":0,"list":[{"profileName":"dxytest","profileDesc":"","isValid":1,"decryption":{"dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1},"certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"},"protocol_version":{"min":"ssl3","max":"tls13","mirror_client":1,"allow_http2":1}}}]}
+ ${dynamic_bypass} set variable "dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1}
+ ${protocol_version} set variable "protocol_version":{"min":"ssl3","max":"tls13","mirror_client":1,"allow_http2":1}
+ ${certificate_checks} set variable "certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"}
+ ${requestbody} set variable {"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","profileDesc":"autotest_decryption_add","isValid":1,"decryption":{${dynamic_bypass},${certificate_checks},${protocol_version}}}]}
+ #{"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","decryption":{${dynamic_bypass},${protocol_version},${certificate_checks}},"isValid":1,"profileDesc":"autotest"}]}}
+ ${data} set variable ${requestbody}
+ ${response} CreatePolicyFileNoFile ${url} ${data}
+ ${decryption_profile} Get From Dictionary ${response} profileId
+ Comment 创建拦截策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=tsg_security
+ ... policyDesc=${caseName}
+ ... action=intercept
+ ... effectiveRange=${Default_EffectiveRange}
+ #... userRegion={"protocol":"SSL","protocol_version":{"allow_http2":1,"min":"ssl3","max":"tls13","mirror_client":1},"dynamic_bypass":{"mutual_authentication":1,"cert_pinning":1,"cert_transparency":0,"protocol_errors":1,"ev_cert":0},"decrypt_mirror":{"enable":0},"certificate_checks":{"fail_action":"pass-through","approach":{"self-signed":1,"expiration":1,"cn":1,"issuer":1}},"keyring":1}
+ ... userRegion={"protocol":"SSL","keyring":1,"decryption":${decryption_profile},"decrypt_mirror":{"enable":0,"mirror_profile":null}}
+ ... referenceObject=${object_FQDN_Id}|TSG_FIELD_SSL_SNI
+ ... isValid=1
+ ... appObjectIdArray=${3}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+
+ ${rescode} ${securitypolicyId} AddPolicy2 ${1} ${policyDict}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]}
+
+ #{"opAction":"add","policyList":{"policyId":"","policyName":"dxytest","policyType":"pxy_manipulation","action":"manipulation","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},
+ #"userRegion":{"method":"insert","insert_profile":2,"protocol":"HTTP"}
+ #,"isValid":0,"scheduleId":[],"appObjectIdArray":[2],"referenceObject":[{"objectId":1192,"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":1194,"protocolFields":["TSG_FIELD_HTTP_URL"]}]}}
+ Comment 创建带有比例的替换策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"method":"insert","insert_profile":2,"enforcement_ratio":0.5,"protocol":"HTTP"}
+ ... referenceObject=${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]} {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
+
+ZJJ_ProxyPolicy-131Insert-00002
+ [Tags] selfserver SIP+DIP+URL
+ ${caseName} set variable ZJJ_ProxyPolicy-131Insert-00002
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=www.jd.com
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} set variable ${object_URL_Id}
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=fqdn
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_fqdnobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$www.jd.com
+ ${rescode} ${object_FQDN_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_FQDN_Id}
+
+ ${dynamic_bypass} set variable "dynamic_bypass":{"ev_cert":1,"cert_transparency":1,"mutual_authentication":1,"cert_pinning":1,"protocol_errors":1}
+ ${protocol_version} set variable "protocol_version":{"min":"","max":"","mirror_client":1,"allow_http2":1}
+ ${certificate_checks} set variable "certificate_checks":{"approach":{"cn":1,"issuer":1,"self-signed":1,"expiration":1},"fail_action":"fail-close"}
+ ${requestbody} set variable {"opAction":"add","returnData":1,"list":[{"profileName":"autotest_decryption_add","decryption":{${dynamic_bypass},${protocol_version},${certificate_checks}},"isValid":1,"isInitialize":0,"profileDesc":""}]}
+ ${data} set variable ${requestbody}
+ ${response} CreatePolicyFileNoFile ${url} ${data}
+ ${decryption_profile} Get From Dictionary ${response} profileId
+ Comment 创建拦截策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=tsg_security
+ ... policyDesc=${caseName}
+ ... action=intercept
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"protocol":"SSL","keyring":1,"decryption":${decryption_profile},"decrypt_mirror":{"enable":0,"mirror_profile":null}}
+ ... referenceObject=${object_FQDN_Id}|TSG_FIELD_SSL_SNI
+ ... isValid=1
+ ... appObjectIdArray=${3}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+
+ ${rescode} ${securitypolicyId} AddPolicy2 ${1} ${policyDict}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]}
+
+
+ Comment 创建带有比例的替换策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=pxy_manipulation
+ ... policyDesc=${Default_PolicyDesc}
+ ... action=manipulation
+ ... effectiveRange=${Default_EffectiveRange}
+ #... userRegion={"method":"replace","rules":[{"search_in":"http_req_body","find":"find","replace_with":"replace"},{"search_in":"http_resp_body","find":"replace","replace_with":"replacetest"}],"enforcement_ratio":1,"protocol":"HTTP"}
+ ... userRegion={"method":"insert","insert_profile":2,"enforcement_ratio":0.9999,"protocol":"HTTP"}
+ ... referenceObject=${object_URL_Id}|TSG_FIELD_HTTP_URL
+ ... isValid=1
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+ ${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
+ ${s} Convert to String ${policyId}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]} {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
\ No newline at end of file
diff --git a/01-TestCase/zjj/ZJJ_SecurityPolicy_Http2.robot b/01-TestCase/zjj/ZJJ_SecurityPolicy_Http2.robot
new file mode 100644
index 0000000..f3b03c4
--- /dev/null
+++ b/01-TestCase/zjj/ZJJ_SecurityPolicy_Http2.robot
@@ -0,0 +1,142 @@
+*** Settings ***
+Test Teardown DeletePolicyAndObject ${policyIds} ${objectids}
+Force Tags zjj tsg_proxy replace
+Library OperatingSystem
+Resource ../../02-Keyword/tsg_adc/SystemCommand.robot
+Resource ../../02-Keyword/tsg_bfapi/PolicyObject.robot
+Resource ../../02-Keyword/tsg_bfapi/LogVariable.robot
+Resource ../../03-Variable/PolicyObjectDefault.txt
+Resource ../../02-Keyword/tsg_common/StmpHandle.robot
+Resource ../../03-Variable/BifangApiVariable.txt
+Resource ../../02-Keyword/tsg_bfapi/policy_file_interface/FunctionalKeywords.robot
+Library Custometest
+Library json
+
+*** Variables ***
+${policyIds} ${EMPTY}
+${objectids} ${EMPTY}
+${url} /policy/profile/responsepages
+${profiledId} ${EMPTY}
+
+*** Test Cases ***
+ZJJ_SecurityPolicy-Deny-Http-Alert00001
+ [Tags] ZJJ HttpAlert
+ ${caseName} set variable ZJJ_SecurityPolicy-Deny-Http-Alert00001
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=url
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_URLobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=open.node.com/action
+ ${rescode} ${object_URL_Id} AddObject2 ${1} ${objectDict}
+ #${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id}
+ ${objectids} set Variable ${object_URL_Id}
+
+ #创建url
+ ${objectDict} Create Dictionary
+ ... objectType=fqdn
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_fqdnobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$open.node.com
+ ${rescode} ${object_FQDN_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_FQDN_Id}
+
+ #创建Resheader
+ ${objectDict} Create Dictionary
+ ... objectType=http_signature
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_http_signatureheaderobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=JSESSIONID=976F28F6C1A5B803B0CDF5FF3E1D2725|Set-Cookie
+ ${rescode} ${object_ResH_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_ResH_Id}
+
+ #创建ReqHeader
+ ${objectDict} Create Dictionary
+ ... objectType=http_signature
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_http_signatureheaderobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=$JSESSIONID=976F28F6C1A5B803B0CDF5FF3E1D2725|Cookie
+ ${rescode} ${object_ReqH_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_ReqH_Id}
+
+ #创建ResBocy
+ ${objectDict} Create Dictionary
+ ... objectType=keywords
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_http_keywordsobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=创建ResBocy*
+ ${rescode} ${object_ResB_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_ResB_Id}
+
+ #创建ReqBody
+ ${objectDict} Create Dictionary
+ ... objectType=keywords
+ ... isValid=${1}
+ ... objectSubType=${Default_ObjectSubType}
+ ... isInitialize=${Default_IsInitialize}
+ ... isExclusion=${Default_IsExclusion}
+ ... objectName=${caseName}_http_keywordsobject
+ ... objectDesc=${Default_ObjectDesc}
+ ... subObjectIds=${Default_SubObjectIds}
+ ... addItemList=*创建ReqBocy
+ ${rescode} ${object_ReqB_Id} AddObject2 ${1} ${objectDict}
+ ${objectids} Catenate SEPARATOR=, ${objectids} ${object_ReqB_Id}
+
+ # 新增
+ ${response} CreatePolicyFile2 ${url} ${responsePageFiles} 404china.html resPages
+ ${profiledId} Get From Dictionary ${response} profileId
+ Comment 创建Deny策略
+ ${policyDict} Create Dictionary
+ ... policyName=${caseName}
+ ... policyType=tsg_security
+ ... policyDesc=${caseName}
+ ... action=deny
+ ... effectiveRange=${Default_EffectiveRange}
+ ... userRegion={"protocol": "HTTP","method":"alert","code":200,"html_profile":${profiledId}}
+ ... referenceObject=${object_URL_Id}|TSG_FIELD_HTTP_URL,${object_FQDN_Id}|TSG_FIELD_HTTP_HOST,${object_ReqH_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_ResH_Id}|TSG_FIELD_HTTP_RES_HDR,${object_ReqB_Id}|TSG_FIELD_HTTP_REQ_CONTENT,${object_ResB_Id}|TSG_FIELD_HTTP_RES_CONTENT
+ ... appObjectIdArray=${2}
+ ... userTags=${Default_UserTags}
+ ... doLog=${Default_DoLog}
+ ... scheduleId=${Default_ScheduleId}
+
+ ${rescode} ${securitypolicyId} AddPolicy2 ${1} ${policyDict}
+ ${policyIds} Create List {"policyType":"tsg_security","policyIds":[${securitypolicyId}]}
+
+ Comment 功能端验证HTTP验证
+ ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/selfserver/SecurityPolicy-Intercept-HTTP-0001.bat
+ ... ELSE set variable curl http://open.node.com/test/xiaozhu/xiaozhu.html
+ ${stringlist} run keyword if '${systemType}'=='Windows' Create List Connection was reset
+ ... ELSE Create List Connection reset by peer
+ ${starttime} Get Time
+ Sleep ${policyVerificationSleepSeconds}s
+ ${rescode} SystemCommands ${commandstr} ${stringlist}
+ Sleep ${policyLogVerificationSleepSeconds}s
+ ${endtime} Get Time
+ #日志验证
+ ${s} Convert to String ${policyId}
+ GetLogList security_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host open.node.com
\ No newline at end of file
diff --git a/02-Keyword/tsg_bfapi/PolicyObject.robot b/02-Keyword/tsg_bfapi/PolicyObject.robot
index 3132f5d..350dbf7 100644
--- a/02-Keyword/tsg_bfapi/PolicyObject.robot
+++ b/02-Keyword/tsg_bfapi/PolicyObject.robot
@@ -69,8 +69,8 @@ AddObject
[Return] ${rescodeReturn} ${objectId}
AddObject2
- [Arguments] ${returnData} ${policyList}
- ${body} ObjectParamsOpertion ${returnData} ${policyList}
+ [Arguments] ${returnData} ${objectList}
+ ${body} ObjectParamsOpertion ${returnData} ${objectList} add
${response} BasePostRequest /policy/object body=${body}
${objectId} Set Variable ${response['data']['objectList'][0]['objectId']}
@@ -78,8 +78,11 @@ AddObject2
[Return] ${rescodeReturn} ${objectId}
EditObject
- [Arguments] @{body}
- [Return] ${rescode} ${objectId}
+ [Arguments] ${objectList} ${opAction}
+ ${body} ObjectParamsOpertion ${0} ${objectList} ${opAction}
+ ${response} BaseEditRequest /policy/object ${body}
+ ${rescodeReturn} Set Variable ${response['code']}
+ [Return] ${rescodeReturn}
DeleteObjectbak
[Arguments] ${objectids}
@@ -96,7 +99,7 @@ DeleteObjectbak
AddPolicy
[Arguments] ${body}
- ${response} BasePostRequest /policy/compile body=${body}
+ ${response} BasePostRequest V2/policy/compile body=${body}
#log ${response}
${policyId} Set Variable ${response['data']['policyList'][0]['policyId']}
${rescode} Set Variable ${response['code']}
@@ -115,7 +118,18 @@ AddPolicy2
${policyId} Set Variable ${response['data']['policyList'][0]['policyId']}
${rescode} Set Variable ${response['code']}
[Return] ${rescode} ${policyId}
+AddPolicy2006
+ [Arguments] ${returnData} ${policyList}
+ ${objectDict} Jsoneditmanu ${policyall} ${policyList}
+ #${body} Convert To String ${objectDict}
+ ${body} json.Dumps ${objectDict}
+ #${body} PolicyParamsOpertion ${returnData} ${policyList} add
+ ${response} BasePostRequest /policy/compile body=${body}
+ ${policyId} Set Variable ${response['data']['policyList'][0]['policyId']}
+ ${rescode} Set Variable ${response['code']}
+ [Return] ${rescode} ${policyId}
+
EditPolicy
[Arguments] ${policyList} ${opAction}
diff --git a/02-Keyword/tsg_cli/Interface.robot b/02-Keyword/tsg_cli/Interface.robot
index 5dedc8e..02a3bc6 100644
--- a/02-Keyword/tsg_cli/Interface.robot
+++ b/02-Keyword/tsg_cli/Interface.robot
@@ -6,7 +6,7 @@ Library SSHLibrary
Library Collections
Library RequestsLibrary
Library Selenium2Library
-Resource ../../03-Variable/bifangapivariable.txt
+Resource ../../03-Variable/BifangApiVariable.txt
*** Variables ***
# 指令前缀
diff --git a/02-Keyword/tsg_common/ManageObjectBody.robot b/02-Keyword/tsg_common/ManageObjectBody.robot
index 272e56a..7b2278e 100644
--- a/02-Keyword/tsg_common/ManageObjectBody.robot
+++ b/02-Keyword/tsg_common/ManageObjectBody.robot
@@ -11,7 +11,7 @@ ObjectParamsOpertion
... 描述:入口,opAction参数固定为'add'
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
- [Arguments] ${returnData} ${objectList}
+ [Arguments] ${returnData} ${objectList} ${opAction}
${emptyList} Create List
${returnDict} Create Dictionary
# 断言必传参数
@@ -45,14 +45,16 @@ ObjectParamsOpertion
${return} ${subObjectIds} Run Keyword And Ignore Error Set Variable ${objectList}[subObjectIds]
${subObjectIdsV} Run Keyword If "${return}"!="FAIL" and "${subObjectIds}"!="${EMPTY}" and "${subObjectIds}"!="${None}" Evaluate list(map(int, re.split('[,]', '${subObjectIds}'))) re
... ELSE Set Variable ${emptyList}
-
+ ${return} ${objectId} Run Keyword And Ignore Error Set Variable ${objectList}[objectId]
+ Run Keyword If "${return}"=="FAIL" or "${objectId}"=="${EMPTY}" Set To Dictionary ${returnDict} objectId=${EMPTY}
+ ... ELSE Set To Dictionary ${returnDict} objectId=${objectId}
Set To Dictionary ${returnDict} subObjectIds=${subObjectIdsV}
# 处理AddItemList
ManageAddItemList ${objectList} ${returnDict}
# 转为json结构并返回
- ${dict} Create Dictionary opAction=add returnData=${returnData} objectList=${returnDict}
+ ${dict} Create Dictionary opAction=${opAction} returnData=${returnData} objectList=${returnDict}
${json} json.Dumps ${dict} ensure_ascii=False
Log Object_Request_Body-${json}
[Return] ${json}
@@ -232,6 +234,7 @@ OtherParams
${return} ${itemDesc} Run Keyword And Ignore Error Set Variable ${values}[6]
Run Keyword If "${return}"!="FAIL" and "${itemDesc}"!="${EMPTY}" Set To Dictionary ${obj} itemDesc=${itemDesc}
+
diff --git a/03-Variable/BifangApiVariable.txt b/03-Variable/BifangApiVariable.txt
index 77ce247..130824f 100644
--- a/03-Variable/BifangApiVariable.txt
+++ b/03-Variable/BifangApiVariable.txt
@@ -4,19 +4,19 @@ ${loginType} api
#执行环境是否Widonws
${systemType} Windows
#API配置信息
-${host} 192.168.40.131
+${host} 192.168.40.120
${port} 8080
${authmode} 1
${authCode} ${EMPTY}
${ldapId} 27
${version} v1
-${username} lyf
+${username} uitest
${password} 111111
${encodePassword} ${EMPTY}
${token} ${EMPTY}
#[Documentation] 测试终端IP统一配置
-${testClentIP} 192.168.50.37
-${testSubscriberID} $test57
+${testClentIP} 192.168.50.2
+${testSubscriberID} $test2
#自动化标签
${userTagIds} ${EMPTY}
#Documentation] 是否添加测试终端IP到策略统一配置,0为不添加测试终端IP,1为添加测试终端IP,默认1
@@ -26,9 +26,9 @@ ${addTestClentIPFlag} 1
${policyVerificationSleepSeconds} 20
#策略验证后到验证策略日志需等待时间
${policyLogVerificationSleepSeconds} 60
-${path} E:/auto_git/eclipsegit/tsg_autotest/05-Other
-${curlbatpath} ${path}/curl
-${mailpath} ${path}/mail
+${path} E:/auto_git/eclipsegit/tsg_autotest/05-Other/
+${curlbatpath} ${path}/curl/
+${mailpath} ${path}/mail/
${responsePageFiles} ${path}/response_pages_files/
#全流程分阶段测试参数
#[Documentation] 当前测试部分,all为一个终端全网全流程测试,
@@ -57,3 +57,6 @@ ${snmpPort} 50161
${snmpConnTimeout} 5 # 默认超时时间为6s,设置timeout值后超时时间为n*6s
${snmpCommunity} public
# SNMP服务测试变量[end]
+#API配置信息
+${oamHost} 192.168.40.210
+${oamPort} 50080
diff --git a/03-Variable/PolicyObjectDefault.txt b/03-Variable/PolicyObjectDefault.txt
index ca65056..09dd950 100644
--- a/03-Variable/PolicyObjectDefault.txt
+++ b/03-Variable/PolicyObjectDefault.txt
@@ -11,9 +11,9 @@ ${Default_EffectiveRange} Nursurtan|Transtelecom&Astel,|Astel&Transtelecom
${Default_UserRegion} method:rst
${Default_ReferenceObject} ${EMPTY}
${Default_AppObjectIdArray} 2,3,4,5,6
-${Default_UserTags} 2
+${Default_UserTags} ${EMPTY}
${Default_DoLog} ${1}
-${Default_ScheduleId} 1
+${Default_ScheduleId} ${EMPTY}
# 对象
${Default_ObjectType} ip
diff --git a/03-Variable/Policy_Objects_Module.txt b/03-Variable/Policy_Objects_Module.txt
index f6fb1c6..f762bb2 100644
--- a/03-Variable/Policy_Objects_Module.txt
+++ b/03-Variable/Policy_Objects_Module.txt
@@ -3,7 +3,7 @@ ${objects_ip} {"opAction":"add","returnData":1,"objectList":{"objectType":"i
${objects_keywords} {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","objectSubType":"","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"zmmtest_keywords","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["www.baidu.com"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[]}}
${policys_security_Intercept_ssl} {"opAction":"add","returnData":1,"policyList":{"policyId":"","policyName":"zmmtest","policyType":"tsg_security","action":"intercept","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}},"referenceObject":[{"objectId":"","protocolFields":["TSG_SECURITY_SOURCE_ADDR"]}],"isValid":1,"scheduleId":[],"appObjectIdArray":[3]}}
${setting_proxy_profiles_hijack} {"isValid":1,"contentType":"text%2Fhtml","opAction":"add","profileName":"zmmHijackFile","contentName":"404english.html","profileId":null,"returnData":1}
-${setting_proxy_profiles_insert} {"isValid":1,"format":"js","insertOn":"","opAction":"add","profileName":"zmmtest","profileId":null,"returnData":1}
+${setting_proxy_profiles_insert} {"isValid":1,"format":"js","insertOn":"","opAction":"add","profileName":"zmmtest","contentName":"insertenglish.js","profileId":null,"returnData":1}
${setting_proxy_profiles_reponse_page} {"isValid":1,"format":"html","opAction":"add","profileName":"zmmtest","profileId":null,"returnData":1}
${setting_proxy_profiles_traffic_mirror_profiles} {"opAction":"add","returnData":1,"trafficMirrorList":[{"profileName":"zmmtest","addrType":"vlan","isValid":1,"addrArray":["1"]}]}
${setting_proxy_profile_decryption_profile} {"opAction":"add","returnData":1,"list":[{"profileName":"zmmtest","profileDesc":"","isValid":1,"decryption":{"dynamic_bypass":{"ev_cert":0,"cert_transparency":0,"mutual_authentication":0,"cert_pinning":0,"protocol_errors":0,"trusted_root_cert_is_not_installed_on_client":0},"certificate_checks":{"approach":{"cn":0,"issuer":0,"self-signed":0,"expiration":0},"fail_action":"fail-close"},"protocol_version":{"min":"ssl3","max":"ssl3","mirror_client":0,"allow_http2":0}}}]}
@@ -12,3 +12,4 @@ ${setting_proxy_profiles_dnsrecords} { \ \ \ "opAction": "add", \ \ \ "return
${setting_proxy_profiles_reflector} {"opAction": "add","returnData": 1,"reflectorList":[{"profileId":1,"profileName":"12313","addrType":4,"reflectorType":"dns","ipList":["192.168.0.1","192.168.0.2","192.168.0.3"],"isValid":1,"profileDesc":""}]}
${setting_proxy_profiles_claimedsrcip} {"opAction": "add","returnData": 1,"claimedSrcIpList":[{"profileId":1,"profileName":"1231","addrType":4,"ipList":["192.168.0.1/16","192.168.0.2/16","192.168.0.3/24"],"isValid":1,"profileDesc":""}],"isValid":1,"profileDesc":""}
${settig_proxy_profiles_reflector_payload} {"opAction": "add","returnData": 1,"reflectorList":[{"profileId":1,"profileName":"123123","reflectorType":"dns","payload":"SSBMT1ZFIFlPVSDmiJHniLHkvaA=","isValid":1,"profileDesc":""}]}
+${policyall} {"opAction":"add","policyList":{"policyId":"","policyName":"dxytest","policyType":"pxy_manipulation","action":"manipulation","userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{},"isValid":0,"objectIds":[],"objectList":[],"scheduleId":[],"source":[],"destination":[],"filterList":[],"appIdObjects":[2]}}
\ No newline at end of file
diff --git a/05-Other/docker.txt b/05-Other/docker.txt
index 8a73b3e..725ad13 100644
--- a/05-Other/docker.txt
+++ b/05-Other/docker.txt
@@ -1,10 +1,10 @@
1、查看docker镜像
docker images
-2、进入docker镜像
+2、进入docker镜像,一般使用最新镜像
docker run -it auto-rf-library:1.0 /bin/bash
docker run --name autotest.open.node.com --add-host=open.node.com:192.168.100.5 -it auto-rf-library:2.0
3、执行自动化项目
-docker run -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-lib:latest[docker最新镜像] -d /newrepot/ robot tsg_autotest0406[project path]
+docker run -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-lib:latest[docker最新镜像] -d /repot[当天时间]/ robot tsg_autotest0406[project path]
执行添加hosts文件:使用自建服务器作为网页访问:
docker run --name autotest.open.node.com --add-host=open.node.com:192.168.100.5 -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-library:1.0 robot -d newreport/ tsg_autotest0406
docker run --name autotest.open.node.com --add-host=open.node.com:192.168.100.5 -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-library:3.0 robot -d newreport/ tsg_autotest0416
@@ -13,6 +13,9 @@ docker run --name autotest.open.node.com --add-host=open.node.com:192.168.100.5
docker run -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-library:1.0 robot -d /newrepot/ tsg_autotest0406
docker start containerid
+
+
+给执行项目下的curl目录赋权:chmod -R +x curl
4、单独镜像,根据此目录下id,但是每次执行时不同的镜像id,修复此文件不太实用。修改hosts
cd /var/lib/docker/containers/
@@ -27,22 +30,41 @@ for /f %%i in ('dir /ad /b scoped_dir*') do (rd /s /q %%i)
Run Keyword And Ignore Error OperatingSystem.run cleartmp.bat
5、删除所有已经退出容器:
docker rm $(docker ps -a -q)
+docker run --name test --add-host=open.node.com:192.168.100.5 -it auto-custom-clibrary:1.0
+启动自己的用例,并把自建服务器添加到host
+docker run --name autotest.open.node.com --add-host=open.node.com:192.168.100.5 -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-custom-clibrary:1.0 robot -d report0427/ tsg_autotest0427
-
-docker run --add-host=open.node.com:192.168.100.5 -it auto-rf-library:1.0
-
-
-docker run --name autotest.open.node.com --add-host=open.node.com:192.168.100.5 -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-library:1.0 robot -i tsg_adc -d newreport/ tsg_autotest0406
+#docker run --add-host=open.node.com:192.168.100.5 -it auto-custom-clibrary:1.0
+#docker run --name autotest.open.node.com --add-host=open.node.com:192.168.100.5 -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-library:1.0 robot -i tsg_adc -d newreport/ tsg_autotest0406
更新自定义库生成新镜像:
1、进入镜像
docker run -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-library:2.0
+docker run -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-google
2、复制自定义库到python目录
-cp -r tsg_autotest0416/04-CustomLibrary/Custometest /usr/local/lib/python3.6/site-packages/
-cp -r tsg_autotest0416/04-CustomLibrary/Smtp3Library /usr/local/lib/python3.6/site-packages/
+cp -r tsg_autotest0417/04-CustomLibrary/Custometest /usr/local/lib/python3.6/site-packages/
+cp -r tsg_autotest0417/04-CustomLibrary/Smtp3Library /usr/local/lib/python3.6/site-packages/
+cp -r tsg_autotest0417/04-CustomLibrary/Pop3Library /usr/local/lib/python3.6/site-packages/
+cp -r tsg_autotest0417/04-CustomLibrary/ExtensionPackages/FileLibrary /usr/local/lib/python3.6/site-packages/
+cp -r tsg_autotest0417/04-CustomLibrary/ExtensionPackages/ExtensionLibrary /usr/local/lib/python3.6/site-packages/
+cp -r tsg_autotest0417/04-CustomLibrary/ExtensionPackages/extensionLibrary.pth /usr/local/lib/python3.6/site-packages/
+exit
3、提交新镜像f827为第一步进入镜像是的id
--------例如:[root@sugon1 ~]# docker run -it -v /home/autoTest_tsg/:/usr/src/python -w /usr/src/python auto-rf-library:2.0
----------root@b053a29b9b64:/usr/src/python# ls
-docker commit f827 auto-rf-library:3.0
+docker commit 5e94 auto-custom-clibrary:1.0
+
+158:tomcat
+docker rm $(docker ps -a -q)
+docker run --name tsgselftomcat -p 8080:8080 --restart=always -v /home/http-nginx-https/tomcat/webapps:/usr/local/tomcat/webapps -d tomcat
+
+chmod -R 777 05-Other/
+
+docker迁移
+docker save f8908be1963b > /data/nginx.img
+docker load < nginx.img
+
+
+docker run --name dxytest -it -v /home/autotsg/:/usr/src/python -w /usr/src/python auto-custom-clibrary:1.0 robot -d cli0609/ tsg
diff --git a/05-Other/hijack_files/KMSTools.exe b/05-Other/hijack_files/KMSTools.exe
new file mode 100644
index 0000000..d2d1031
Binary files /dev/null and b/05-Other/hijack_files/KMSTools.exe differ
diff --git a/05-Other/insert_files/big.js b/05-Other/insert_files/big.js
new file mode 100644
index 0000000..3d7ab57
--- /dev/null
+++ b/05-Other/insert_files/big.js
@@ -0,0 +1,1582 @@
+alert("执行javascript!");
+function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }function Download(){
+ var download = $("#download");
+ download.append("下载该文件");
+ console.log(download);
+ $("#down")[0].click();
+ }
diff --git a/05-Other/zjj/ZJJ-ProxyPolicy-Redircet-HTTP-0017.bat b/05-Other/zjj/ZJJ-ProxyPolicy-Redircet-HTTP-0017.bat
new file mode 100644
index 0000000..9baac40
--- /dev/null
+++ b/05-Other/zjj/ZJJ-ProxyPolicy-Redircet-HTTP-0017.bat
@@ -0,0 +1 @@
+curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=test&setCookie=12345678&contentType=content-type&resBody=Response Body" -kv http://open.node.com/action | iconv -f utf-8 -t gbk
diff --git a/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0001.bat b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0001.bat
new file mode 100644
index 0000000..af46590
--- /dev/null
+++ b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0001.bat
@@ -0,0 +1 @@
+curl -kv http://open.node.com/test/xiaozhu/xiaozhu.html | iconv -f utf-8 -t gbk
\ No newline at end of file
diff --git a/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0002.bat b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0002.bat
new file mode 100644
index 0000000..ca54462
--- /dev/null
+++ b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0002.bat
@@ -0,0 +1 @@
+curl -kv http://open.node.com/test/youtube/youtube.html | iconv -f utf-8 -t gbk
\ No newline at end of file
diff --git a/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0003.bat b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0003.bat
new file mode 100644
index 0000000..7432b87
--- /dev/null
+++ b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0003.bat
@@ -0,0 +1 @@
+curl -kv http://open.node.com/test/nationalbank/nationalbank.html | iconv -f utf-8 -t gbk
\ No newline at end of file
diff --git a/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0008.bat b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0008.bat
new file mode 100644
index 0000000..1aaefd6
--- /dev/null
+++ b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0008.bat
@@ -0,0 +1 @@
+curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'http://www.baidu.com/' \ curl http://open.node.com/ | iconv -f utf-8 -t gbk
diff --git a/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0012.bat b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0012.bat
new file mode 100644
index 0000000..4e4bb32
--- /dev/null
+++ b/05-Other/zjj/ZJJ-ProxyPolicy-Redirect-HTTP-0012.bat
@@ -0,0 +1 @@
+curl -kv --cookie "*_ga=GA1.2.721078436.1587543528; _gid=GA1.2.916148851.1587543528; _gat=1; _ym_uid=1587543532244912958; _ym_d=1587543532; _ym_isad=2" --referer 'http://www.baidu.com/' http://open.node.com/test/nationalbank/nationalbank.html | iconv -f utf-8 -t gbk
\ No newline at end of file
diff --git a/05-Other/zjj/ZJJ-proxyPolicy-Redirect-HTTP-00017.bat b/05-Other/zjj/ZJJ-proxyPolicy-Redirect-HTTP-00017.bat
new file mode 100644
index 0000000..d90714b
--- /dev/null
+++ b/05-Other/zjj/ZJJ-proxyPolicy-Redirect-HTTP-00017.bat
@@ -0,0 +1 @@
+curl -kv http://open.node.com/ | iconv -f utf-8 -t gbk
\ No newline at end of file
diff --git a/05-Other/zjj/ZJJ-proxyPolicy-Redirect-HTTP-00023.bat b/05-Other/zjj/ZJJ-proxyPolicy-Redirect-HTTP-00023.bat
new file mode 100644
index 0000000..96edd0c
--- /dev/null
+++ b/05-Other/zjj/ZJJ-proxyPolicy-Redirect-HTTP-00023.bat
@@ -0,0 +1 @@
+curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=test&setCookie=12345678&contentType=content-type&resBody=Response Body" -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' http://open.node.com/action |iconv -f utf-8 -t gbk
diff --git a/05-Other/zjj/ZJJ_ProxyPolicy-Replace-00002.bat b/05-Other/zjj/ZJJ_ProxyPolicy-Replace-00002.bat
new file mode 100644
index 0000000..1d126e9
--- /dev/null
+++ b/05-Other/zjj/ZJJ_ProxyPolicy-Replace-00002.bat
@@ -0,0 +1 @@
+curl -kv -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=find&setCookie=set-cookie&contentType=content-type;charset=utf-8&resBody=Response Body" https://open.node.com/action | iconv -f utf-8 -t gbk
\ No newline at end of file