本人想获取这个网站上的验证码显示在我的pictureBox控件上, http://www.scjj.gov.cn:8635有能解决的请把代码发到我的邮箱[email protected]里面,谢谢~~谢谢~

解决方案 »

  1.   

    你看看img的连接,直接用webclient就可以下载
      

  2.   

    1.得到image的路径(路径中可能有一些可变的参数,还有cookie必须带上)
    2.下载,或直接以流的形式获取然后转换成图片
    3.....
      

  3.   

    http://www.scjj.gov.cn:8635/indexBitmap.aspx?flagPassword=0.6666577417182393
    参数flagPassword后面是随机数,获取时要带上COOKIES
      

  4.   


    cookie的内容不全,你抓包看下
      

  5.   

    直接用httpwebrequest访问:http://www.scjj.gov.cn:8635/indexBitmap.aspx?flagPassword=0.7081168430247833
    这个地址的就可以了,flagPassword是一个0-1的随机数。
    注意:
    httpWebRequest.Referer = "image/png, image/svg+xml, image/*;q=0.8, */*;q=0.5";
      

  6.   

            public static Stream GetStream(string url, CookieContainer cookieContainer)
            {
                HttpWebRequest httpWebRequest = null;
                HttpWebResponse httpWebResponse = null;            try
                {
                    httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
                    httpWebRequest.CookieContainer = cookieContainer;
                    httpWebRequest.ContentType = contentType;
                    httpWebRequest.Referer = referer;
                    httpWebRequest.Accept = accept;
                    httpWebRequest.UserAgent = userAgent;
                    httpWebRequest.Method = "GET";
                    httpWebRequest.ServicePoint.ConnectionLimit = int.MaxValue;                httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                    Stream responseStream = httpWebResponse.GetResponseStream();                return responseStream;
                }
                catch (Exception)
                {
                    return null;
                }
            }上楼敲错了。
      

  7.   

    一般网站的验证码都是用js回传的你找到这个网站的JS ,在JS 内有验证码的url,获取url把图片下载到本地,在传给PicterusBox
      

  8.   

     private void GetImg()
            {
                var httpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://www.scjj.gov.cn:8635/indexBitmap.aspx?flagPassword=0.5209738658265561");
                httpWebRequest.Credentials = CredentialCache.DefaultCredentials;
                httpWebRequest.ContentType = "application/x-www-form-urlencoded";
                httpWebRequest.Accept = "image/png,image/*;q=0.8,*/*;q=0.5";
                httpWebRequest.Host = "www.scjj.gov.cn:8635";
                httpWebRequest.Referer = "http://www.scjj.gov.cn:8635/";
                httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; CIBA; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)";
                httpWebRequest.Method = "Get";
                var webResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                using (var getStream=webResponse.GetResponseStream())
                {
                    int num;
                    using (var ms = new MemoryStream())
                    {
                        byte[] buffer = new byte[0x400];
                        do
                        {
                            num = getStream.Read(buffer, 0, buffer.Length);
                            if (num > 0)
                            {
                                ms.Write(buffer, 0, num);
                            }
                        } while (num > 0);
                        picCode.Image = System.Drawing.Image.FromStream(ms);
                    }
                }
            }