zoukankan      html  css  js  c++  java
  • 一个有意思的html验证码: namesilo验证码


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

    image

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

    image

    当然这种验证码是比较容易破解的,它是请求这个接口拿到的验证码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();
    
        }
    
    }
    

    映射到的图片:

    image

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

    image

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


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

    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, '☻');
    
        }
    
    }
    

    效果:

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

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

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





    .

  • 相关阅读:
    OCP-052考试题库汇总(29)-CUUG内部解答版
    OCP-052考试题库汇总(28)-CUUG内部解答版
    OCP-052考试题库汇总(27)-CUUG内部解答版
    OCP-052考试题库汇总(26)-CUUG内部解答版
    OCP-052考试题库汇总(25)-CUUG内部解答版
    OCP-052考试题库汇总(24)-CUUG内部解答版
    007 线程的join方法
    006 线程休眠
    005 线程打断---完成线程的终结
    004 守护线程
  • 原文地址:https://www.cnblogs.com/cc11001100/p/12375128.html
Copyright © 2011-2022 走看看