$('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控件上加的这个图片似乎不是正确的那张。请问该怎么解决啊?
解决方案 »
- WMI取打印队列信息
- 关于使用System.Transactions命名空间
- 紧急:MonthCalendar 怎么重写,修改它的天数背景色
- 小弟请个位前辈、高手指教,有"GirdView"为什么还要用"DataGrid"?
- 在WINFORM程序中的DATAGRID中,如何增加横向和纵向的滚动条(当记录数或着字段数超出显示范围的时候)。。
- C#如何使用openGL
- C# 如何读取 SQL 的某一列的 描述 里的内容 急急急!!!!!?
- Graphics 两重image叠加显示问题,急急急!
- 数据集主从表关系问题,急
- vs .net 2003 里面,大纲里面怎么把自动生成的代码折叠起来?
- 问题急解答,很急..... PDA手机里面的存储内存是指存储卡内存吗??
- 菜鸟提问:产生随机数的问题,要求互不相同。
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;
{
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;
}
}
希望这些能对你有用
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);
}
}
还有问题清留言