如何绕过图形验证通过cookie来发送接口报文实例
1】输入用户名、密码、验证码登录进入系统
2】任意选择一个页面点进入,F12进入开发者模式,在控制台输入document.cookie.split(';'),获取cookie列表中sessionId
3】在控制台输入document.domain,来获取域名
4】将代码中的new Cookie的第一个参数为cookie名、第二个参数为cookie值、第三个参数为域名,第四和第五个不用变
cookieList.add(new Cookie("sessionId", "ocSPhDGXYgzSDyHqzPDDS5p2tH5mNIrNoxey4M225ysvbzoVIl", "xxxx.xxxx.com", "/",new Date(32503647599000L), false))
5】注意cookies.each { CookieModule.addCookie(it, HTTPPluginControl.getThreadHTTPClientContext()) }要放在before里
=================实现代码如下===============================================
public void beforeThread() {
test.record(this, "test")
grinder.statistics.delayReports=true
// 设置 cookie 信息
List<Cookie> cookieList = new ArrayList<Cookie>()
cookieList.add(new Cookie("sessionId", "ocSPhDGXYgzSDyHqzPDDS5p2tH5mNIrNoxey4M225ysvbzoVIl", "ldcspst.cnsuning.com", "/",new Date(32503647599000L), false))
cookies = cookieList.toArray()
// 记录日志
grinder.logger.info("before process."+cookies.toString())
grinder.logger.info("before thread.")
}
@Before
public void before() {
cookies.each { CookieModule.addCookie(it, HTTPPluginControl.getThreadHTTPClientContext()) }
}