读书人

获取网站验证码的图片文件,该怎么解决

发布时间: 2012-03-17 19:06:28 作者: rapoo

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

[解决办法]
再修改一下,那个上边没有即时关闭的流,其实这个抓取还是挺稳定的

C# code
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(); 

读书人网 >C#

热点推荐