最近做一个项目,用delphi自动调用页面数据。项目具体要求就不说了。
其中调用一个网站的时候,这网站好奇怪,比如要提交表单,先出现一个随机图片,这个随机图片有“确定”字样,这个“确定”字样在图片的不定区域,你若要正确提交表单,无法自动提交,必须点击“确定”字样的小区域,若点击随机图片的其余地方则提交失败。
我尽量看了网站的代码,找到了几个函数及脚本,通过delphi外部执行脚本,可是还是无法绕过这个验证图片。谁知道这个提交表单系统是如何实现的呢?怎么才能绕过这个图片点击过程?直接通过语句提交表单?拜托高手们赐教下,万分感谢了!分数少,只能这样给分,有其他要求的可以联系我qq170075732,必复。网站部分代码如下:
==表单内容
<DIV id=order_betdata>输入: <INPUT class=za_text onkeyup="return CheckWin()" maxLength=8 size=8 name=gold><BR>结果: <FONT id=wingold color=#cc0000>0</FONT><BR>最低输入: 100<BR>单限: 2000<BR>全限: 2000<BR><BR><INPUT class=za_button onclick="self.location.href='../select.php?uid=Oea10b0az1t1uk2izv8i25z1el8sz0132'" type=button value=取消 name=cancel>  <INPUT class=za_button onclick="return CheckSend();" type=button value=确定 name=submit1><BR><INPUT type=hidden value=Oea10b0az1t1uk2izv8i25z1el8sz0132 name=uid> <INPUT type=hidden value=FT name=GTYPE> <INPUT type=hidden value=2000 name=GOLD_MAX> <INPUT type=hidden value=100 name=GOLD_MIN> <INPUT type=hidden value=2000 name=SO> <INPUT type=hidden value=2000 name=SC> <INPUT type=hidden value=19434 name=CREDIT> <INPUT type=hidden value=0 name=SCREDIT> <INPUT type=hidden value=500000 name=MAXWIN> <INPUT type=hidden value=S name=PTYPE> <INPUT type=hidden value=RH name=RTYPE> <INPUT type=hidden value=232416 name=GID> <INPUT type=hidden value=C name=STRONG> <INPUT type=hidden value=0 name=C> <INPUT type=hidden value=0 name=R> <INPUT type=hidden name=IORS> <INPUT type=hidden value=1.080 name=IORATIO> <INPUT type=hidden value=0 name=NA> <INPUT type=hidden value=0 name=NA_RATIO> <INPUT type=hidden value=8556d14be5bf486 name=AUTH> <INPUT type=hidden value=0 name=flag> 
==下面是出现随机图片部分
</DIV><BR><!----------------------Confirm2---------------------------->
<DIV id=chk_order2 style="DISPLAY: none; POSITION: absolute">
<TABLE height=225 cellSpacing=0 cellPadding=0 width=210 background=/tpl/bb2/ver1/images/member/order_win_ba_big.gif border=0>
<TBODY>
<TR>
<TD></TD>
<TD width=160 height=35></TD></TR>
<TR>
<TD width="25%"></TD>
<TD>结果:<FONT id=pcx2 color=#cc0000>0</FONT><BR>是否确定?</TD></TR>
<TR>
<TD align=middle colSpan=2><INPUT id=img_auth type=image src="/tpl/commonFile/images/orAuth/img.php?tt=Oea10b0az1t1uk2izv8i25z1el8sz0132&amp;rd=30fedcd6d878570d15b14d139f13316b&amp;lgx=gb" name=img_auth img></TD></TR>//随机图片地址,图片按钮
<TR>
<TD class=o_winfoot align=middle colSpan=2><INPUT class=za_button onclick="self.location.href='../select.php?uid=Oea10b0az1t1uk2izv8i25z1el8sz0132'" type=button value=取消 name=chk_cancel2> 
===确定部分,可是单独执行下面脚本失败
</TD></TR></TBODY></TABLE></DIV><!----------------------Confirm---------------------------->
<DIV id=chk_order style="DISPLAY: none; POSITION: absolute">
<FORM name=mainCheck>
<TABLE height=105 cellSpacing=0 cellPadding=0 width=225 background=/tpl/newkk/images/member/order_win_ba.gif border=0>
<TBODY>
<TR>
<TD></TD>
<TD width=160 height=35></TD></TR>
<TR>
<TD width="25%"></TD>
<TD>结果:<FONT id=pcx color=#cc0000>0</FONT><BR>是否确定?</TD></TR
<TR>
<TD class=o_winfoot align=middle colSpan=2><INPUT class=za_button onclick="self.location.href='../select.php?uid=Oea10b0az1t1uk2izv8i25z1el8sz0132'" type=button value=取消 name=chk_cancel>  <INPUT class=za_button onclick="return subchk(1);" type=button value=确定 name=chk_submit> </TD></TR></TBODY></TABLE></FORM></DIV><!----------------------Confirm----------------------------></DIV></DIV></DIV></DIV></DIV></BODY>////***********下面是网站的脚本函数
function subchk(x) {
    if(x==1) {
           
            document.mainCheck.elements['chk_cancel2'].disabled = true;//取消按钮
                document.mainOrder.elements['flag'].value = 1;       //mainCheck是form名
        document.mainOrder.submit();                                    window.setTimeout("wait_show()",1000);//提示是否继续
                             return true;
    }     function CheckSend() {
        if(document.mainOrder.elements['flag'].value !='0') {
            alert("请勿重覆送出");
            timeout();
            return false;            
        }
        document.mainOrder.elements['cancel'].disabled = true;
        document.mainOrder.elements['submit1'].disabled = true;       
                
            document.getElementById('pcx2').innerHTML = document.getElementById('wingold').innerHTML;
            document.getElementById('chk_order').style.display = "none";
            document.getElementById('chk_order').style.top = 150;
            document.getElementById('chk_order2').style.display = "block";
            document.getElementById('chk_order2').style.top = 150;
                
        return true;
    }