用例场景(c#)

您需要替换资源。WebscantestSqlinj配置文件。

          
csharp
1
使用系统
2
使用系统诊断
3.
使用系统IO
4
使用系统
5
使用系统文本
6
使用系统线程
7
使用NewtonsoftJsonLinq
8
名称空间NTOERestApiTest控制台
9
10
公开课程序
11
12
private const string RootPath“http://localhost: 54073 / AppSpiderEnterpriserest / v1 /”private const string用户名“wstclient”
13
private const string密码“wstclient”
14
公共静态无效主要字符串arg游戏)
15
16
/ /登录
17
var authResultPostRequest“身份验证/登录”字符串格式"{{name: \"{0}\", password: \"{1}\"}}"用户名密码))
18
如果authResultIsSuccess==||!authResultIsSuccess价值)
19
20.
系统控制台WriteLineauthResultErrorMessage价值)
21
返回
22
23
字符串标记authResult令牌价值
24
系统控制台WriteLine“登录成功”。)
25
//使用WebscantestSqlInj查看config是否存在(无法创建两个同名的config)
26
var configsResultGetRequest“配置/ getconfigs”令牌)
27
如果configsResultIsSuccess==||!configsResultIsSuccess价值)
28
29
系统控制台WriteLineconfigsResultErrorMessage价值)
30.
返回
31
32
GuidconfigId
33
bool isConfigWithWebscantestSqlInjNameExist
34
foreach动态配置configsResult配置)
35
36
如果配置的名字==“WebscantestSqlInj”)
37
38
isConfigWithWebscantestSqlInjNameExist真正的
39
configId配置Id
40
系统控制台WriteLine"Config with name WebscantestSqlInj found.")
41
打破
42
43
//如果同名的配置不存在,则创建新的配置
44
如果!isConfigWithWebscantestSqlInjNameExist)
45
46
字符串errorMessage
47
configIdCreateConfig令牌出errorMessage)
48
如果configId==)
49
50
系统控制台WriteLineerrorMessage)
51
返回
52
53
系统控制台WriteLineConfig with name WebscantestSqlInj created。)
54
55
/ /运行扫描
56
var runScanResultPostRequest“扫描/ runscan”字符串格式configId \“\”
57
“{0}\}}configId)令牌)
58
如果runScanResultIsSuccess==||!runScanResultIsSuccess价值)
59
60
系统控制台WriteLinerunScanResultErrorMessage价值)
61
返回
62
63
var scanIdrunScanResult扫描Id
64
系统控制台WriteLine“开始扫描。扫描ID:{0}”scanId)
65
//等待扫描完成
66
var秒表秒表)秒表开始)
67
bool isScanFinished!isScanFinished)
68
69
系统控制台"{0}分钟和{1}秒过去了。"
70
秒表运行分钟秒表运行)
71
系统控制台“\ r”)
72
线程睡眠5000)
73
var isScanFinishedResult
74
GetRequest字符串格式“扫描/ isscanfinished吗?scanId = {0} "scanId)令牌)
75
如果isScanFinishedResultIsSuccess==||
76
!isScanFinishedResultIsSuccess价值)
77
78
系统控制台WriteLineisScanFinishedResultErrorMessage价值)
79
返回
80
81
isScanFinishedisScanFinishedResult结果
82
83
秒表停止)
84
系统控制台WriteLine)
85
系统控制台WriteLine“扫描完成。”)
86
//检查已完成扫描的报告
87
var scanHasReportResultGetRequest字符串格式“扫描/ hasreport吗?scanId = {0} "
88
scanId)令牌)
89
如果scanHasReportResultIsSuccess==||!scanHasReportResultIsSuccess价值)
90
91
系统控制台WriteLinescanHasReportResultErrorMessage价值)
92
返回
93
94
如果!scanHasReportResult结果价值)
95
96
系统控制台WriteLine“扫描完成,没有报告。”)
97
返回
98
99
SaveFile字符串格式“报告/ getreportzip吗?scanid = {0} "scanId)
One hundred.
“ReportAllFiles.zip”令牌)
101
系统控制台WriteLine"以名称ReportAllFiles.zip保存的报告")
102
103
私有静态GuidCreateConfig字符串标记出字符串errorMessage)
104
105
令牌)
106
errorMessage
107
var engineGroupsResultGetRequest“enginegroup / getenginegroupsforclient”
108
如果engineGroupsResultEngineGroups==)
109
110
errorMessageengineGroupsResultErrorMessage价值
111
返回
112
113
如果engineGroupsResultEngineGroups==0)
114
115
errorMessage没有分配给当前客户端的引擎组。
116
返回
117
118
var engineGroupIdengineGroupsResultEngineGroups0Id
119
var configJson字符串格式@”
120
“DefendEnabled”真正的
121
“MonitoringDelay”0
122
“MonitoringTriggerScan”真正的
123
“Id”
124
“名字”“WebscantestSqlInj”
125
“ClientId”
126
“EngineGroupId”“{0}”
127
“监控”真正的
128
“IsApproveRequired”
129
“Xml”“{1}”
130
engineGroupId资源WebscantestSqlInj/* TODO:替换你的配置
131
字符串(scfg文件)*/)// ', ", \符号必须转义在配置字符串(\',\",\\)
132
var createConfigResultPostMultipartRequest“配置/ saveconfig”“配置”
133
configJson令牌)
134
如果createConfigResultIsSuccess==||!createConfigResultIsSuccess价值)
135
136
errorMessagecreateConfigResultErrorMessage价值
137
返回
138
139
返回createConfigResult配置Id
140
141
私有静态无效SaveFile字符串url字符串文件名字符串标记)
142
143
使用var webClientWebClient))
144
145
webClient“授权”“基本”+令牌
146
webClientDownloadFileRootPath+url文件名)
147
148
149
私有静态动态GetRequest字符串url字符串标记)
150
151
字符串responseStr
152
试一试
153
154
var httpRequestHttpWebRequest)WebRequest创建RootPath+url)
155
httpRequest接受“application / json”
156
httpRequestContentType“application / json”
157
httpRequest方法“获得”
158
httpRequest“授权”“基本”+令牌
159
var响应httpRequestGetResponse)
160
使用流数据响应GetResponseStream))使用var读者StreamReader数据))
161
162
responseStr读者ReadToEnd)
163
164
165
WebException e)
166
167
使用WebResponse响应e响应)
168
169
170
使用流数据响应GetResponseStream))
171
使用var读者StreamReader数据))
172
173
responseStr读者ReadToEnd)
174
175
返回JObject解析responseStr)
176
177
私有静态动态PostRequest字符串url字符串jsonData字符串标记"")
178
字符串responseStr
179
试一试
180
181
var httpRequestHttpWebRequest)WebRequest创建RootPath+url)
182
httpRequest接受“application / json”
183
httpRequestContentType“application / json”
184
httpRequest方法“职位”
185
httpRequest“授权”“基本”+令牌
186
字符串jsonContentjsonData
187
var编码ASCIIEncoding)
188
字节字节编码GetBytesjsonContent)
189
流newStreamhttpRequestGetRequestStream)
190
newStream字节0字节长度)
191
newStream关闭)
192
var响应httpRequestGetResponse)
193
使用流数据响应GetResponseStream))使用var读者StreamReader数据))
194
195
responseStr读者ReadToEnd)
196
197
198
WebException e)
199
200
使用WebResponse响应e响应)
201
202
使用流数据响应GetResponseStream))
203
204
使用var读者StreamReader数据))
205
206
responseStr读者ReadToEnd)
207
208
返回JObject解析responseStr)
209
210
私有静态动态PostMultipartRequest字符串url字符串文件名字符串
211
fileData字符串标记"")
212
213
字符串responseStr
214
试一试
215
216
换行符+
217
var边界"------------------------"+DateTime现在蜱虫
218
var换行符环境换行符
219
var propFormat”——“+边界+换行符+
220
“附加项:格式;name = \“{0}\”“+换行符+
221
“{1}”+换行符
222
var httpRequestHttpWebRequest)WebRequest创建RootPath+url)
223
httpRequest接受“application / json”
224
httpRequestContentType“多部分/格式;边界= "+边界
225
httpRequest方法“职位”
226
httpRequest“授权”“基本”+令牌
227
使用var reqStreamhttpRequestGetRequestStream))
228
229
var reqWriterStreamWriterreqStream)
230
var tmp字符串格式propFormat文件名fileData)
231
reqWritertmp)
232
reqWriter”——“+边界+”——“)
233
reqWriter“\ r \ n”)
234
reqWriter冲洗)
235
236
var响应httpRequestGetResponse)
237
使用流数据响应GetResponseStream))使用var读者StreamReader数据))
238
239
responseStr读者ReadToEnd)
240
241
242
WebException e)
243
244
使用WebResponse响应e响应)
245
246
使用流数据响应GetResponseStream))
247
使用var读者StreamReader数据))
248
249
250
251
responseStr读者ReadToEnd)
252
253
返回JObject解析responseStr)