php curl 有验证码 模拟登陆的问题

wfcpf 2014-01-26 07:12:48
学习了php不久,想要登陆我们学校的教务管理系统抓取下信息,可是验证码那关实在不知道怎么过
210.44.176.133/(0qus0s55gb1ojp45n2h0sr55)/Default2.aspx
///
还请论坛的牛人们指点指点
...全文
428 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
L-第七感 2015-08-08
  • 打赏
  • 举报
回复
用正则提取地址
wfcpf 2014-01-27
  • 打赏
  • 举报
回复
引用 12 楼 xuzuning 的回复:
在 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); 前面加上 curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); 你用的是 get 方式,一般登录应该是 post 方式吧 你的地址是内网地址,无法测试 只能你自己慢慢调试了
这不是post的地方,是post之前的访问地址,post的时候没有提交cookie,学校是是通过记录那段随机地址来判断用户的应该是,现在就是想得到那个随机地址,这是你登陆页面,登陆后会跳转 210.44.176.133 --跳转--> 210.44.176.133/(0qus0s55gb1ojp45n2h0sr55)/Default2.aspx ,然后在跳转之后的页面提交表单,可是不知道怎样得到这个地址唉。。。
xuzuning 2014-01-27
  • 打赏
  • 举报
回复
在 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); 前面加上 curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); 你用的是 get 方式,一般登录应该是 post 方式吧 你的地址是内网地址,无法测试 只能你自己慢慢调试了
wfcpf 2014-01-27
  • 打赏
  • 举报
回复
Request URL:http://210.44.176.133/ Request Method:GET Status Code:302 Found Request Headersview source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:zh-CN,zh;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Cookie:TTKlinkFirst=1; Hm_lvt_f5127c6793d40d199f68042b8a63e725=1390729405,1390740179,1390790720,1390790808; Hm_lpvt_f5127c6793d40d199f68042b8a63e725=1390791234 Host:210.44.176.133 User-Agent:Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 Response Headersview source Cache-Control:private Connection:close Content-Length:158 Content-Type:text/html; charset=gb2312 Date:Mon, 27 Jan 2014 02:54:29 GMT Location:/(di3bfgq4zqk5c23n2ofovr45)/Default2.aspx Server:Microsoft-IIS/6.0 X-AspNet-Version:1.1.4322 X-Powered-By:ASP.NET
wfcpf 2014-01-27
  • 打赏
  • 举报
回复
引用 7 楼 ywq5752952 的回复:
你传入的数字不合法,看看是不是人家让输入数字,你输入其他内容了。
经过分析发现,实际登陆地址应该是210.44.176.133,然后被重定向到这样的地址210.44.176.133/(0qus0s55gb1ojp45n2h0sr55)/Default2.aspx,中间括号里的是随机的每次都不同,现在那我应该怎么样去得到这重定向后的地址呢? 这是我写的方法
function curl_get_url(){
		$cookie_file=tempnam('./ck','cookie');
		$ch = curl_init("http://210.44.176.133");
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
		curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
		curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
		$data = curl_exec($ch);//运行curl
		curl_close($ch);
		return $data;
		}
wfcpf 2014-01-27
  • 打赏
  • 举报
回复
引用 8 楼 zy205817 的回复:
最好贴出你代码分析下。
经过分析发现,实际登陆地址应该是210.44.176.133,然后被重定向到这样的地址210.44.176.133/(0qus0s55gb1ojp45n2h0sr55)/Default2.aspx,中间括号里的是随机的每次都不同,现在那我应该怎么样去得到这重定向后的地址呢? 这是我写的方法
function curl_get_url(){
		$cookie_file=tempnam('./ck','cookie');
		$ch = curl_init("http://210.44.176.133");
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
		curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
		curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
		$data = curl_exec($ch);//运行curl
		curl_close($ch);
		return $data;
		}
码无边 2014-01-27
  • 打赏
  • 举报
回复
最好贴出你代码分析下。
鱼为情 2014-01-27
  • 打赏
  • 举报
回复
你传入的数字不合法,看看是不是人家让输入数字,你输入其他内容了。
wfcpf 2014-01-26
  • 打赏
  • 举报
回复
引用 5 楼 fdipzone 的回复:
CURLOPT_FOLLOWLOCATION 有设置这个为1吗?
设上果真没了, 现在是 Bad Request (Invalid Number),这又是什么问题啊
傲雪星枫 2014-01-26
  • 打赏
  • 举报
回复
CURLOPT_FOLLOWLOCATION 有设置这个为1吗?
wfcpf 2014-01-26
  • 打赏
  • 举报
回复
引用 2 楼 fdipzone 的回复:
有验证码的做模拟登入太麻烦,要识别验证码。只要对方改个复杂的,就没办法了。
我是要人肉输入,验证码已经取到,现在在post的时候返回一个Object moved to here. 百度了下说是陷入了重定向,不懂爱这里犯迷糊了,不知该如何处理呢?
wfcpf 2014-01-26
  • 打赏
  • 举报
回复
引用 1 楼 PhpNewnew 的回复:
验证码 要么人肉要么机器识别,机器识别要根据验证码的特征做处理,没那么简单.人肉嘛做个输入提交,带上cookie.
我是要人肉输入,验证码已经取到,现在在post的时候返回一个Object moved to here. 百度了下说是陷入了重定向,不懂爱这里犯迷糊了,不知该如何处理呢?
傲雪星枫 2014-01-26
  • 打赏
  • 举报
回复
有验证码的做模拟登入太麻烦,要识别验证码。只要对方改个复杂的,就没办法了。
黄袍披身 2014-01-26
  • 打赏
  • 举报
回复
验证码 要么人肉要么机器识别,机器识别要根据验证码的特征做处理,没那么简单.人肉嘛做个输入提交,带上cookie.

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧