C# .NET 模拟登录带有验证码的网站,并自动提交表单数据!

问题描述

1.模拟登录的网址:http://www.pceggs.com/nologin.aspx2.登陆后的页面网址:http://www.pceggs.com/play/pc28.aspx3.登陆后模拟表单提交的页面网址:http://www.pceggs.com/play/pg28Insert.aspx?LID=679556(注:此页面需要登录后才可以查看,并LID的值是最新一期需要投注的ID数字)【说明:1和2只是模拟登录网站,3是登录后模拟表单提交数据!】希望高手帮忙解决,基本随时在线等!(附上此网站的测试账号:tast123,密码tast123)如有不详,请回复说明!谢谢!

解决方案

解决方案二:
除了验证码麻烦,其它因为没登录,不知道会不会麻烦……
解决方案三:
人工打码,几分钱一条,有人做这个。或者是ocr识别,看难度了。
解决方案四:
引用1楼starfd的回复:

除了验证码麻烦,其它因为没登录,不知道会不会麻烦……

其实验证码这块也不麻烦,就是我在获取验证码和登录时不一致,导致无法登录成功。至于表单提交都是post传值过去。还有一个问题就是如何保存登录状态一直存在。
解决方案五:
引用2楼caozhy的回复:

人工打码,几分钱一条,有人做这个。或者是ocr识别,看难度了。

验证码这块不要求自动提交,只需要人工填写就可以,关键是如何登录成功后提交表单,一直保持登录状态!
解决方案六:
保持登录状态只要保持cookie就可以了。
解决方案七:
引用5楼caozhy的回复:

保持登录状态只要保持cookie就可以了。

可是获取验证码跟登录不一致...
解决方案八:
C#.NET模拟登陆带有验证码的网站并跳转到指定页面示例protectedvoidbtnLoad_Click(objectsender,ImageClickEventArgse){HttpCookiecookie=Request.Cookies["CheckCode"];if(String.Compare(cookie.Value,txtVali.Text,true)!=0){Response.Write("<scriptlanuage=javascript>alert('验证码错误');location='javascript:history.go(-1)'</script>");//codego.net/}else{DataSetds=DB.reDs("select*fromtb_HuenLianwhereUserName='"+txtUid.Text.Trim()+"'andPassWord='"+txtPwd.Text.Trim()+"'");inti=this.checkLogin(txtUid.Text,txtPwd.Text);if(i>0){Session["id"]=ds.Tables[0].Rows[0][0].ToString();Session["UserName"]=this.txtUid.Text;Session["PassWord"]=this.txtPwd.Text;Page.Response.Redirect("Yonghu.aspx");}else{Response.Write("<scriptlanuage=javascript>alert('用户名称或密码错误!');location='javascript:history.go(-1)'</script>");}}}publicintcheckLogin(stringloginName,stringloginPwd){SqlConnectioncon=newSqlConnection(ConfigurationManager.AppSettings["conn"]);SqlCommandmyCommand=newSqlCommand("selectcount(*)fromtb_HuenLianwhereUserName=@loginNameandPassWord=@loginPwd",con);myCommand.Parameters.Add(newSqlParameter("@loginName",SqlDbType.NVarChar,20));myCommand.Parameters["@loginName"].Value=loginName;myCommand.Parameters.Add(newSqlParameter("@loginPwd",SqlDbType.NVarChar,50));myCommand.Parameters["@loginPwd"].Value=loginPwd;myCommand.Connection.Open();inti=(int)myCommand.ExecuteScalar();myCommand.Connection.Close();returni;}
解决方案九:
引用7楼jian_kangjiushihao的回复:

C#.NET模拟登陆带有验证码的网站并跳转到指定页面示例protectedvoidbtnLoad_Click(objectsender,ImageClickEventArgse){HttpCookiecookie=Request.Cookies["CheckCode"];if(String.Compare(cookie.Value,txtVali.Text,true)!=0){Response.Write("<scriptlanuage=javascript>alert('验证码错误');location='javascript:history.go(-1)'</script>");//codego.net/}else{DataSetds=DB.reDs("select*fromtb_HuenLianwhereUserName='"+txtUid.Text.Trim()+"'andPassWord='"+txtPwd.Text.Trim()+"'");inti=this.checkLogin(txtUid.Text,txtPwd.Text);if(i>0){Session["id"]=ds.Tables[0].Rows[0][0].ToString();Session["UserName"]=this.txtUid.Text;Session["PassWord"]=this.txtPwd.Text;Page.Response.Redirect("Yonghu.aspx");}else{Response.Write("<scriptlanuage=javascript>alert('用户名称或密码错误!');location='javascript:history.go(-1)'</script>");}}}publicintcheckLogin(stringloginName,stringloginPwd){SqlConnectioncon=newSqlConnection(ConfigurationManager.AppSettings["conn"]);SqlCommandmyCommand=newSqlCommand("selectcount(*)fromtb_HuenLianwhereUserName=@loginNameandPassWord=@loginPwd",con);myCommand.Parameters.Add(newSqlParameter("@loginName",SqlDbType.NVarChar,20));myCommand.Parameters["@loginName"].Value=loginName;myCommand.Parameters.Add(newSqlParameter("@loginPwd",SqlDbType.NVarChar,50));myCommand.Parameters["@loginPwd"].Value=loginPwd;myCommand.Connection.Open();inti=(int)myCommand.ExecuteScalar();myCommand.Connection.Close();returni;}

谢谢!我要的不是你这种。而是模拟登录别人网站。思路:1,获取网站cookie;2,通过cookie获取验证码;3,利用验证码和cookie一同提交登录但是在提交的时候,返回的信息是登录失败!望高手解答
解决方案十:
是谁告诉你网站把验证码写入cookie了?
解决方案十一:
引用9楼Z65443344的回复:

是谁告诉你网站把验证码写入cookie了?

没有,我是说得到的cookie登录不成功!望高手直接代码测试吧。

时间: 2024-10-22 23:01:25

C# .NET 模拟登录带有验证码的网站,并自动提交表单数据!的相关文章

C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站

原文:C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站 我们经常会碰到需要程序模拟登录一个网站,那如果网站需要填写验证码的要怎样模拟登录呢?这篇文章利用了 HttpWebRequest 和 HttpWebResponse 模拟登录了有验证码的网站. 程序设计的界面很简单,三个TextBox分别输入用户名.密码和验证码,一个Image控件显示从网站请求到的验证码图片,还有两个按钮,一个换验证码,一个登录. 写程序前,先用浏览器的开发者工具观察下登

PHP curl模拟登录带验证码的网站_php实例

需求是这样的,需要登录带验证码的网站,获取数据,但是不可能人为一直去记录数据,想通过自动采集的方式进行,如下是试验出来的结果代码!有需要的可以参考下! <?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller { protected $cookieName = array('cookie_verify', 'cookie_verify'); protected $

求高手帮忙解决 c# 模拟登录带验证码 总提示验证码错误

问题描述 c#模拟登录带验证码总提示验证码错误,这个网站以前没有加验证码的时候时可以正常模拟登录进去的.这是以前的代码:stringstr_ratk="";doubledttick=this.cConvertDateTimeInt(System.DateTime.Now);result=HttpHelper.GetHtml("http://www.plateno.com/p/nlogin.html?_="+dttick.ToString()+""

使用C#登录带验证码的网站

我在上一篇文章中已经讲解了一般网站的登录原来和C#的登录实现,很多人问到对于使用了验证码的网站该怎么办,这里我就讲讲验证码的原理和对应的登录方法. 验证码的由来 几年前,大部分网站.论坛之类的是没有验证码的,因为对于一般用户来说验证码只是增加了用户的操作,降低了用户的体验.但是后来各种灌水机器人.投票机器人.恶意注册机器人层出不穷,大大增加了网站的负担同时也给网站数据库带来了大量的垃圾数据.为了防止各种机器人程序的破坏,于是程序员想出了只有人眼能够识别的,程序不容易识别的验证码! 验证码是一个图

微信公众平台模拟登录之验证码获取

这个时候平台首页的登录逻辑就会经常出现无法登录的状态,前几天写了一个抓取验证码要求用户输入,这个么有做多少代码的调整,主要是 让前端写了一写js直接调用微信公众平台的验证码连接了,发现不行,两个方面: 1.imgcode这个表单名打错了 2.在抓包的时候突然发现获取验证码的连接有设置cookie的 发现问题后这些都不是什么大事了,码码代码松松解决: public function getImgCode($username){  $str = $this -> getcurl()-> get(&

python模拟登陆之验证码与cookies的同步处理思路

自动登陆可能是写爬虫的第一步,如果都不能登陆,很多东西爬不到的.这也不是第一次写包含验证码识别的自动登陆脚本了.这次有点被坑住了,把这次的记录下来. 这次要自动登陆的网站地址是:2013年株洲市中小学教师全员培训   /IndexPage/Index.aspx 先说下思路,好多人写那些不需要验证码识别的自动登陆脚本很容易,只要保存好cookies就可以了,但是对于需要验证码的网站就总是登陆不上去. 对于需要验证码的网站的自动登陆脚本的步骤:(以上面我说的那个网站为例,对于python和其他语言,

jQuery Real Person验证码插件防止表单自动提交_jquery

本文介绍的jQuery插件有点特殊,防自动提交表单的验证工具,就是我们经常用到的验证码工具,先给大家看看效果. 效果图如下: 使用说明 需要使用jQuery库文件和Real Person库文件 同时需要自定义验证码显示的CSS样式 使用实例 1.包含文件部分 <script type="text/javascript" src="jquery-latest.pack.js"></script> <script type="te

求C#模拟登录网站,带验证码例子

问题描述 求C#模拟登录网站,带验证码例子 解决方案 解决方案二:我也在找啊,找了很多,都不行.郁闷呢啊.解决方案三:这个只能自己编个要分析验证码图片的话,要看对方混淆的方式,一般来说字符有交叉.变形.杂色.再加上干扰点线的话,目前我知道的算法就分析不了了,你也别费心了.解决方案四:第一次看到技术区发蛋贴的....

php对于带有验证码的模拟登陆

问题描述 php对于带有验证码的模拟登陆 学校网站:http://jwgl.nchu.edu.cn/(A(dwUI5Kdz0AEkAAAAODAzYTNmOTctOTA3ZS00NmJiLThhZDYtMzc2Nzg2N2IwZGM5vaYo34BuUWwDjV7-QS6aq6Rx5RA1))/ischool.aspx#求大神分析一下,解决不了啊!试了好久. 解决方案 前段时间研究过你们学校的教务系统,关于验证码.不知道凌展的是不是也可以绕过(方正的某些是可以绕过的)具体我也忘了.如果不能绕过只