问题描述
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登录不成功!望高手直接代码测试吧。