OCR_BMP(byval _bmpFile as string)是个图形识别函数---公司购买的。我用下面的代码,校验码已经识别成功了,但是提交上去却提示校验码不对?GetCheckCode 为下载到本地并且识别---是我写的
我这样
'下载校验码图片保存当前目录
Public Function GetCheckCode()
            Try
                Dim myWebclient As WebClient
                Dim remoteUri As String = "http://****/index.php?act=validate.image&rand=0.3251639807483244"
                Dim fileName As String = "CheckCode.bmp"                If System.IO.File.Exists(fileName) Then
                    System.IO.File.Delete(fileName)
                End If
                myWebclient = New WebClient()
                myWebclient.DownloadFile(New Uri(remoteUri), fileName)                _oh.OCR_BMP(fileName)                Return OcrResult
            Catch ex As Exception
                'MsgBox(ex.ToString)
                Return ""            End Try
            
        End Function
提交的函数:(Me.TextBox1.Text为测试GET的到的内容,提示为验证码错误!)
        Me.TextBox1.Text = _hh.Get("http://*****/index.php?checkcode=" & strCheckCode & "&sdtid=" & oocId & "&rand=459315", _reffer)

解决方案 »

  1.   

    UP,时间到!MARK,明天关注!
      

  2.   

    难道是cooike?用类试的代码怎样能下载来并且识别?
    Public Function GetBMP()
                Dim req As HttpWebRequest
                Dim res As HttpWebResponse
                req = HttpWebRequest.Create("http://*****/index.php?act=validate.image&rand=0.3251639807483244")
                req.CookieContainer = _cc
                res = req.GetResponse
                Dim Img As New System.Drawing.Bitmap(res.GetResponseStream)            Return Img        End Function
      

  3.   

    1: 验证码在识别和提交之间,不能再次访问
    2:在同一个Session里做,也就是说客户端要是同一个,否则,也要把第一次获取验证码时的cookie复制到提交时的对象里。
      

  4.   

    应该要传访问http://*****/index.php得到的cookie过去,用httpwebrequest
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  5.   

    存放验证码的Session的值是否一样
      

  6.   

       public static string PostLogin(string strURL,string strArgs,string strReferer)
            {
                string strResult = "";
                HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(strURL);
                myHttpWebRequest.AllowAutoRedirect = true; 
                myHttpWebRequest.KeepAlive = true;
                myHttpWebRequest.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*";
                myHttpWebRequest.Referer = strReferer;
                
                myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 2.0.50727)";
                myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
                myHttpWebRequest.Method = "POST";            CookieCollection myCookies = null;
                CookieContainer myCookieContainer = new CookieContainer();
                myHttpWebRequest.CookieContainer = myCookieContainer;            Stream MyRequestStrearm = myHttpWebRequest.GetRequestStream();
                StreamWriter MyStreamWriter = new StreamWriter(MyRequestStrearm,Encoding.ASCII);
                MyStreamWriter.Write(strArgs);
                MyStreamWriter.Close();
                MyRequestStrearm.Close();            HttpWebResponse response = null;
                System.IO.StreamReader sr = null;
                response = (HttpWebResponse)myHttpWebRequest.GetResponse();            cookieHeader = myHttpWebRequest.CookieContainer.GetCookieHeader(new Uri(strURL)); 
                HttpContext.Current.Application.Lock(); 
                HttpContext.Current.Application["cookieHeader"] = cookieHeader; 
                HttpContext.Current.Application.UnLock();
                myCookies = response.Cookies;            sr = new System.IO.StreamReader(response.GetResponseStream(),Encoding.GetEncoding("gb2312"));    
                strResult = sr.ReadToEnd();
                return strResult;
            }
      

  7.   


    你程序是不是先打开 url调取图片识别(这里实际上又访问了一次,产生了一个新的验证码session)再提交一开始的url??
    这样貌似不行把
      

  8.   

    确认下你的sessionid变了没,或者有没有记录下来带到后面的程序中