$('vCodeSpan').innerHTML = '<img src="http://xxx.com.valid.do?rnd=1231232126608" name="validCode" align="top" id="validCode" />';
                }
在登陆的页面中图片验证码是这样的。可是我用C#的写了一个HTTP的GET方法获得的是一个STRING
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri(url));
                    req.UserAgent = reqUserAgent;
                    req.CookieContainer = _cc;
                    req.Referer = referer;                    req.Method = "GET";
                    req.Timeout = _timeout;
                    if (null != _proxy && null != _proxy.Credentials)
                    {
                        req.UseDefaultCredentials = true;
                    }
                    req.Proxy = _proxy;                  
                    HttpWebResponse res = (HttpWebResponse)req.GetResponse();
                    StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
                    return sr.ReadToEnd();
我在把验证码图片显示在FORM上,在用户填写好ID和密码后点登陆实现登陆。可是现在的问题是我每用image控件上加的这个图片似乎不是正确的那张。请问该怎么解决啊?

解决方案 »

  1.   

    放在session里面  保存  读session
      

  2.   

    HTTP的GET一个什么东西?没看懂?
      

  3.   

    GET了一个字符串
     private CookieContainer _cc = new CookieContainer();
          
    private string reqUserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR .0.04506; InfoPath.2)"; private string referer = string.Empty;
           
      

  4.   

    public partial class Image : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string tmp = RndNum(Convert.ToInt16(6));
            Session["verify"] = tmp;
            ValidateCode(tmp);
        }
        private void ValidateCode(string VNum)
        {
            Bitmap Img = null;
            Graphics g = null;
            MemoryStream ms = null;
            int gheight = VNum.Length * 9;
            Img = new Bitmap(gheight, 18);
            g = Graphics.FromImage(Img);
            //背景颜色
            g.Clear(Color.WhiteSmoke);
            //文字字体
            Font f = new Font("Tahoma", 9);
            //文字颜色
            SolidBrush s = new SolidBrush(Color.Red);
            g.DrawString(VNum, f, s, 3, 3);
            ms = new MemoryStream();
            Img.Save(ms, ImageFormat.Jpeg);
            Response.ClearContent();
            Response.ContentType = "image/Jpeg";
            Response.BinaryWrite(ms.ToArray());
            g.Dispose();
            Img.Dispose();
            Response.End();
        }
        private string RndNum(int VcodeNum)
        {
            string MaxNum = "";
            string MinNum = "";
            for (int i = 0; i < 5; i++)//这里的4是验证码的位数
            {
                MaxNum = MaxNum + "5";
            }
            MinNum = MaxNum.Remove(0, 1);
            Random rd = new Random();
            string VNum = Convert.ToString(rd.Next(Convert.ToInt32(MinNum), Convert.ToInt32(MaxNum)));
            return VNum;
        }
    }
    希望这些能对你有用
      

  5.   

    谢谢楼上的朋友,但是你的代码是生成验证码的过程,我想知道的是通过自己写HTTP的GET方法得到图片并显示出来
      

  6.   

    建立一个很小的窗体,下面的代码可以实现
     public void initForm(CookieContainer ACookie, string AVerifyCodeImageURL)
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(AVerifyCodeImageURL);
                request.CookieContainer = ACookie;
                request.Method = "GET";
                request.Timeout = 20000;
                request.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
                request.Headers["Accept-Encoding"] = "gzip";
                request.Headers["Accept-Language"] = "zh-TW";
                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)";            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream readStream = response.GetResponseStream();            Bitmap bitmap = new Bitmap(readStream);            imgVerifyCode.Image = bitmap;            readStream.Close();
            }        private void btnOK_Click(object sender, EventArgs e)
            {
                VerifyCode = edtVerifyCode.Text;            DialogResult = DialogResult.OK;            Close();
            }        private void btnCancel_Click(object sender, EventArgs e)
            {
                Close();
            }        private void FormVerifyCode_Shown(object sender, EventArgs e)
            {
                edtVerifyCode.Focus();
            }        private void edtVerifyCode_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                    btnOK_Click(btnOK, EventArgs.Empty);
            }
        }
    还有问题清留言