买域名的时候看到的一个验证码,感觉蛮有意思的(https://www.namesilo.com/create_account.php),这个质感看上去就不一样:

查看页面源码,果然这个验证码是用html的标签拼接出来的:

当然这种验证码是比较容易破解的,它是请求这个接口拿到的验证码html数据:

https://www.namesilo.com/captcha_generate.php

返回的数据被url编码了:

%3Cstyle%3E.capc1%7B%20background-color%3A%20%23F8FFFE%3B%20%7D%20.capc2%7B%20background-color%3A%20%23000000%3B%20%7D%3C%2Fstyle%3E%3Ctable%20cellpadding%3D%220%22%20cellspacing%3D%220%22%20class%3D%22captchatable%22%20align%3D%22center%22%3E%3Ctr%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc1%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3Ctd%20class%3D%22capc2%22%20style%3D%22padding%3A0%3B%22%3E%26nbsp%3B%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E

对其url decode并格式化:

<style>.capc1{ background-color: #F8ECFF; } .capc2{ background-color: #030D14; }</style>
<table c ellpadding="0" cellspacing="0" class="captchatable" align="center">
<tr>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td></tr>
<tr>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td></tr>
<tr>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td></tr>
<tr>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td></tr>
<tr>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td></tr>
<tr>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td></tr>
<tr>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc1" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td>
<td class="capc2" style="padding:0;"> </td></tr>
</table>

破解的思路很简单,就是从字符映射回图片即可,多找几个例子观察可以看到,class就两个,capc2是背景色块,capc1是字体色块,然后就比较简单了,将这个captcha table的每个单元格作为一个像素映射到一张图片上:

package cc11001100.misc.crawler.captcha.namesilo;

import cc11001100.misc.crawler.utils.HttpUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.io.FileUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements; import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets; /**
* @author CC11001100
*/
public class NamesiloCrawler { @NoArgsConstructor
@AllArgsConstructor
@Data
public static class Captcha {
private String html;
private BufferedImage img;
} public static Captcha getCaptcha() {
String url = "https://www.namesilo.com/captcha_generate.php";
String html = HttpUtil.request(url, null, response -> URLDecoder.decode(response.body(), StandardCharsets.UTF_8));
Document doc = Jsoup.parse(html);
Elements rowElt = doc.select(".captchatable tr"); BufferedImage image = new BufferedImage(rowElt.get(0).select("td").size(), rowElt.size(), BufferedImage.TYPE_INT_RGB);
for (int y = 0; y < rowElt.size(); y++) {
Elements colsElt = rowElt.get(y).select("td");
for (int x = 0; x < colsElt.size(); x++) {
boolean isBackground = "capc2".equals(colsElt.get(x).attr("class"));
image.setRGB(x, y, isBackground ? Color.WHITE.getRGB() : Color.BLACK.getRGB());
}
} return new Captcha(html, image);
} public static void saveCaptchaForShow() throws IOException {
for (int i = 0; i < 10; i++) {
Captcha captcha = getCaptcha();
BufferedImage image = captcha.getImg();
long ts = System.currentTimeMillis();
ImageIO.write(image, "png", new File("data/captcha/namesilo/" + ts + ".png"));
FileUtils.writeStringToFile(new File("data/captcha/namesilo/" + ts + ".html"), captcha.getHtml(), "UTF-8");
}
} public static void main(String[] args) throws IOException { saveCaptchaForShow(); } }

映射到的图片:

打开保存的html看看映射得是否正确:

接下来的事情就比较简单了,就是最基本的字符型图片验证码破解,因此也不再继续往下演示了。

这种验证码安全性还是比较差的,只是感觉蛮有意思,于是自己实现了一个:

package cc11001100.misc.crawler.captcha.namesilo;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException; /**
* @author CC11001100
*/
public class NamesiloCaptcha { public static boolean[][] draw(String chars, int size) throws IOException {
int width = size * chars.length();
BufferedImage image = new BufferedImage(width, size, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics(); g.setColor(Color.WHITE);
g.fillRect(0, 0, image.getWidth(), image.getHeight()); g.setColor(Color.BLACK);
g.setFont(new Font("Helvetica", Font.PLAIN, (int) (size * 1.1)));
g.drawString(chars, (int) (chars.length() * size * 0.1), (int) (size * 0.9)); // ImageIO.write(image, "png", new File("data/captcha/namesilo/1.png")); boolean[][] result = new boolean[size][width];
for (int y = 0; y < image.getHeight(); y++) {
for (int x = 0; x < image.getWidth(); x++) {
result[y][x] = image.getRGB(x, y) == Color.BLACK.getRGB();
// System.out.printf("%-3d", image.getRGB(x, y));
}
// System.out.println();
} return result;
} public static void showWith(String chars, int size, char c) throws IOException {
boolean[][] matrix = draw(chars, size); for (int x = 0; x < matrix.length; x++) {
StringBuilder line = new StringBuilder(matrix[x].length);
for (int y = 0; y < matrix[x].length; y++) {
// char t = !matrix[x][y] ? c : ' ';
char t = matrix[x][y] ? c : ' ';
line.append(t).append(t).append(t);
}
System.out.println(line.toString());
}
} public static void main(String[] args) throws IOException { showWith("ABCD", 10, '☻'); } }

效果:

                     ☻☻☻            ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻            ☻☻☻☻☻☻☻☻☻      ☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻
☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻
☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻
☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻
☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻ ☻☻☻
☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻

或者反色,可能需要离得远一点或者摘下眼镜才能看清楚了:

☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻ ☻☻☻☻☻☻ ☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻
☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻

.

一个有意思的html验证码: namesilo验证码的更多相关文章

  1. php生成动态验证码 加减算法验证码 简单验证码

    预览效果: <?php /** *ImageCode 生成包含验证码的GIF图片的函数 *@param $string 字符串 *@param $width 宽度 *@param $height ...

  2. linux下一个有意思的问题(文件名以短划线或空格开头)

    linux下一个有意思的问题(文件名以短划线开头) 这本是无意中的一个发现. 在linux下,文件名中含有 - 是没有问题,但是如果文件名是以-作为第一个字符的,那么就比较麻烦了. 问题演示 看这里, ...

  3. 一个有意思的CSS样式库--BUTTONS

    我最近发现了一个有意思的CSS样式库,和Bootstrap相似,但是它是专门的一个高度可定制的,免费的并且开源的按钮CSS样式库,这里附上它的网址:http://www.bootcss.com/p/b ...

  4. Python一个有意思的地方:reduce、map、filter

    今天阅读了关于Python函数式编程的系列文章,地址在这里: http://www.cnblogs.com/huxi/archive/2011/06/24/2089358.html 里面提到了四个内建 ...

  5. 以java实现的一个简单登录界面(带验证码)

    本文参考于:https://blog.csdn.net/wyf2017/article/details/78831744 https://blog.csdn.net/MengKun822/articl ...

  6. 这是一个简单的前台短信验证码功能 ajax实现异步处理 (发送和校验)

    <script type="text/javascript"> var InterValObj; //timer变量,控制时间 var count = 60; //间隔 ...

  7. 一个漂亮灵活的PHP图片验证码

    <?php class Imagecode{ private $width ; private $height; private $counts; private $distrubcode; p ...

  8. java验证码-汉字验证码

    今天整理了一个java实现的汉字输入验证码 主要包含两个类,一个是生成验证码,一个是判断验证码输入是否正确 实现原理非常简单,将汉字和干扰线生成图片并将汉字保存到session,前台获取每次生成验证码 ...

  9. C# WinForm 使用SMS接口发送手机验证码+图形验证码+IP限制

    https://blog.csdn.net/IT_xiao_guang_guang/article/details/104299983 前言   1.发送手机验证码用的是网建的SMS接口(http:/ ...

随机推荐

  1. HDU 5568:sequence2 大数+DP

    sequence2  Accepts: 93  Submissions: 358  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 6553 ...

  2. Spark入门:第4节 Spark程序:1 - 9

    五. Spark角色介绍 Spark是基于内存计算的大数据并行计算框架.因为其基于内存计算,比Hadoop中MapReduce计算框架具有更高的实时性,同时保证了高效容错性和可伸缩性.从2009年诞生 ...

  3. 关于Android file.createNewFile() 方法出现的问题总结(转)

    原文:http://blog.csdn.net/wjdarwin/article/details/7108606 今天在编写向SDcard中,创建文件夹并向其中保存文件的过程中出现个一系列的问题 在此 ...

  4. mysql innodb cluster 无感知集群

    MySQL 8.0.12 innodb cluster 高可用集群部署运维管理手册 Innodb cluster 原理介绍 Innodb cluster  利用组复制的 pxos 协议,保障数据一致性 ...

  5. Py西游攻关之基础数据类型(五)-集合

    Py西游攻关之基础数据类型 - Yuan先生 https://www.cnblogs.com/yuanchenqi/articles/5782764.html 八 集合(set) 集合是一个无序的,不 ...

  6. Android之Context和Activity互相转换

    1.context转换为activity Activity activity = (Activity) context; 2.从activity得到context 在activity的方法中用cont ...

  7. JetBrains IntelliJ IDEA(IJ)v2019.3.3/3.1/3.2/3.4/3.5 for mac/windows/linux 详细安装破解教程

    手欠升级了IntelliJ IDEA到2019.3.3,原来的破解不可用,IntelliJ IDEA 2019.3.3破解办法如下,为方便自己使用记录下.======================= ...

  8. 「CF1C Ancient Berland Circus」

    CF第一场比赛的最后一题居然是计算几何. 这道题的考点也是比较多,所以来写一篇题解. 前置芝士 平面直角坐标系中两点距离公式:\(l=\sqrt{(X_1-X_2)^2+(Y_1-Y_2)^2}\) ...

  9. jenkins 2.204.2 安装, 使用国内源安装, 并且跳过插件界面, 更新成国内插件源.

    需要java环境支持,自行百度. jenkins 安装源在国外, 下载会比较慢, 尤其在linux下, 使用yum或者apt install jenkins方式安装时,经常会下载失败. 由于yum或者 ...

  10. modelsim10.4环境变量的设置

    在用户变量中设置,注意路径还要包括license.txt 点击高级属性设置 点击环境变量 在用户变量一件名为:MGLS_LICENSE_FILE的变量 点击确定