网站验证码获取 简单说吧,如果你在 webbrowser 之类的容器里加载网页,你可以使用 webbrowser 为网页注入一行代码,将指定 id 的<img />的图片内容复制到 windows 剪贴板。之后你的程序再从剪贴板直接获取图片 Image 对象本身。不过说实在的,请尽量自己花钱给人家做服务。不愿意支持小偷程序。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 httpreques 里有关于下载URL图片 网站验证码的获取示例//页面输入验证码文本框<asp:TextBox ID="txtVali" runat="server" Font-Size="9pt" Width="60px" BackColor="White"></asp:TextBox><img id="Img1" align="left" alt="看不清,请点击我!" onclick="this.src=this.src+'?'" src="../youyu/CheckCode.aspx" style="width: 49px; height: 22px" />//显示验证码图片 <asp:ImageButton ID="ImageManage" runat="server" ImageUrl="~/image/b1.jpg" OnClick="btnLoad_Click"/>//验证输入按钮//验证输入事件 protected void btnLoad_Click(object sender, ImageClickEventArgs e) { HttpCookie cookie = Request.Cookies["CheckCode"]; if (String.Compare(cookie.Value, txtVali.Text, true) != 0) { Response.Write("<script lanuage=javascript>alert('验证码错误');location='javascript:history.go(-1)'</script>"); } else{数据表验证登陆程序,,,,,。}//调取验证码信息 private string GenerateCheckCode() { //创建整型型变量 int number; //创建字符型变量 char code; //创建字符串变量并初始化为空 string checkCode = String.Empty; //创建Random对象 Random random = new Random(); //使用For循环生成4个数字 for (int i = 0; i < 4; i++) { //生成一个随机数 number = random.Next(); //将数字转换成为字符型 code = (char)('0' + (char)(number % 10)); checkCode += code.ToString(); } //将生成的随机数添加到Cookies中 Response.Cookies.Add(new HttpCookie("CheckCode", checkCode)); //返回字符串 return checkCode; } private void CreateCheckCodeImage(string checkCode) { //判断字符串不等于空和null if (checkCode == null || checkCode.Trim() == String.Empty) return; //创建一个位图对象 System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22); //创建Graphics对象 Graphics g = Graphics.FromImage(image); try { //生成随机生成器 Random random = new Random(); //清空图片背景色 g.Clear(Color.White); //画图片的背景噪音线 for (int i = 0; i < 2; i++) { int x1 = random.Next(image.Width); int x2 = random.Next(image.Width); int y1 = random.Next(image.Height); int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2); }//CodeGo.net/ Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold)); System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true); g.DrawString(checkCode, font, brush, 2, 2); //画图片的前景噪音点 for (int i = 0; i < 100; i++) { int x = random.Next(image.Width); int y = random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(random.Next())); } //画图片的边框线 g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); //将图片输出到页面上 System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Response.ContentType = "image/Gif"; Response.BinaryWrite(ms.ToArray()); } finally { g.Dispose(); image.Dispose(); } http://blog.sina.com.cn/s/blog_70726e0b0100q0pb.html 关于Regex.Split的用法 Winform 可否得到post的页面? 不知道什么原因,UpdatePanel刷新DropDownList的问题 请教关于数据库表的问题 TaskVision调用WebService的GetUserInfo出错 求一只保留中文的正则表达式! 高手帮忙啊 你来解决我的问题好吗,朋友? 打开xml文件然后关闭时出错。 WCF服务与THREAD.TIMEr问题 C#怎么减少假死,等待响应时间? 用.net Reflector反编译dll 以前源码的回车换行都变成了 \r\n
//页面输入验证码文本框
<asp:TextBox ID="txtVali" runat="server" Font-Size="9pt" Width="60px"
BackColor="White"></asp:TextBox>
<img id="Img1" align="left" alt="看不清,请点击我!" onclick="this.src=this.src+'?'"
src="../youyu/CheckCode.aspx" style="width: 49px; height: 22px" />//显示验证码图片
<asp:ImageButton ID="ImageManage" runat="server" ImageUrl="~/image/b1.jpg"
OnClick="btnLoad_Click"/>//验证输入按钮
//验证输入事件
protected void btnLoad_Click(object sender, ImageClickEventArgs e)
{
HttpCookie cookie = Request.Cookies["CheckCode"];
if (String.Compare(cookie.Value, txtVali.Text, true) != 0)
{ Response.Write("<script lanuage=javascript>alert('验证码错误');location='javascript:history.go(-1)'</script>");
} else
{
数据表验证登陆程序,,,,,。
}
//调取验证码信息
private string GenerateCheckCode()
{
//创建整型型变量
int number;
//创建字符型变量
char code;
//创建字符串变量并初始化为空
string checkCode = String.Empty;
//创建Random对象
Random random = new Random();
//使用For循环生成4个数字
for (int i = 0; i < 4; i++)
{
//生成一个随机数
number = random.Next();
//将数字转换成为字符型
code = (char)('0' + (char)(number % 10)); checkCode += code.ToString();
}
//将生成的随机数添加到Cookies中
Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));
//返回字符串
return checkCode;
} private void CreateCheckCodeImage(string checkCode)
{
//判断字符串不等于空和null
if (checkCode == null || checkCode.Trim() == String.Empty)
return;
//创建一个位图对象
System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
//创建Graphics对象
Graphics g = Graphics.FromImage(image); try
{
//生成随机生成器
Random random = new Random(); //清空图片背景色
g.Clear(Color.White); //画图片的背景噪音线
for (int i = 0; i < 2; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2);
}//CodeGo.net/ Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
g.DrawString(checkCode, font, brush, 2, 2); //画图片的前景噪音点
for (int i = 0; i < 100; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(random.Next()));
} //画图片的边框线
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); //将图片输出到页面上
System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}