网站地址是http://58.27.8.3/
图片文件在http://58.27.8.3/img? 后面是一个随机数(script是用math.random()实现的)
请大家帮忙

解决方案 »

  1.   

    最简单好用的方法是:在需要出现验证码的地方添加一个image控件,然后图片的url为验证码文件路径,需要的话 我发给你一个。有很多样式
      

  2.   


    String guid = Guid.NewGuid().ToString();
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Format("http://58.27.8.3/img.jpg?{0}", guid));
                //request.Referer = "http://www.XXXX.com"; //网址
                request.UserAgent =
                    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; Maxthon; .NET CLR 1.1.4322; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)";
                request.Referer = "http://58.27.8.3/_index.jsp";
                
                CookieContainer cookieContainer = new CookieContainer(1);
                Cookie sessionId = new Cookie("JSESSIONID","19425294A3A50B5ED89919A516FBB516.node36"); //这个cookie貌似必须得加,否则不给显示
                sessionId.Domain = "58.27.8.3";
                cookieContainer.Add(sessionId);            request.CookieContainer = cookieContainer;
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream stream = response.GetResponseStream();
                Image img = Image.FromStream(stream);
                img.Save(File.Open(String.Format("e:\\{0}.gif",guid), FileMode.OpenOrCreate), ImageFormat.Gif);
                img.Dispose();
                response.Close();
      

  3.   

    是的我是用delphi写的,需要加上Set-Cookie:JSESSIONID这个cookie,现在可以取到图片了
    正如bclz_vs说的,需要测试一下看稳不稳定,谢谢大家了
      

  4.   

    再修改一下,那个上边没有即时关闭的流,其实这个抓取还是挺稳定的String guid = Guid.NewGuid().ToString();
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Format("http://58.27.8.3/img.jpg?{0}", guid));
                //request.Referer = "http://www.XXXX.com"; //网址
                request.Timeout = Timeout.Infinite;
                request.UserAgent =
                    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; Maxthon; .NET CLR 1.1.4322; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)";
                request.Referer = "http://58.27.8.3/_index.jsp";
                
                CookieContainer cookieContainer = new CookieContainer(1);
                Cookie sessionId = new Cookie("JSESSIONID","19425294A3A50B5ED89919A516FBB516.node36");
                sessionId.Domain = "58.27.8.3";
                cookieContainer.Add(sessionId);            request.CookieContainer = cookieContainer;
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream stream = response.GetResponseStream();
                if(response.ContentLength == 0)
                {
                    Console.WriteLine("sessionid无效");
                    return;
                }
                //StreamReader reader = new StreamReader(stream);
                //Console.Write(reader.ReadToEnd());            Image img = Image.FromStream(stream);
                FileStream fileStream = File.Open(String.Format("e:\\{0}.gif",guid), FileMode.OpenOrCreate);
                img.Save(fileStream, ImageFormat.Gif);
                fileStream.Flush();
                fileStream.Close();
                img.Dispose();
                response.Close();