CURL模拟登陆CAS认证页面 显示未能够识别出目标 '*'票根

PHPer爱好者 2014-02-01 01:03:57


难道这个参数在第一次curl_setopt($ch, CURLOPT_URL,$url);获取的时候就失效了么?
或者是在post传递的时候重新打开了页面,产生了新的票根参数?
求指教

<?PHP
$url = "https://login.uconn.edu/cas/login?service=http%3a%2f%2fezproxy.lib.uconn.edu%2flogin%3fqurl%3dezp.2aHR0cHM6Ly9zY2lmaW5kZXIuY2FzLm9yZw--";//远程文档地址,注意这里可以是HTTPS的。

$ch = curl_init();//初始化一个cURL会话
curl_setopt($ch, CURLOPT_URL,$url);//需要获取的URL地址
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//禁用后cURL将终止从服务端进行验证。?
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//检查服务器SSL证书中是否存在一个公用名?
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。非常有用!有时候用true代替1
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);//尝试连接等待的时间,以毫秒为单位。如果设置为0,则无限等待。

$result = curl_exec($ch);//如果不选择上面的CURLOPT_RETURNTRANSFER, 1,这里直接输出,%resulet的值将为1.

//echo $result;//用文件流的目的是截取其中的内容

preg_match('/<input.+value\=\"LT-(.*)\" \/>/i',$result,$match); //preg_match正则获取特定字符

//echo $match[1]; //测试用
ob_start();
echo <<< HTML
<form onSubmit="doSubmit(this);" method="post" name="form1" action="$url">
<input name="username" class="required" tabindex="1" accesskey="n" type="text" value="111" size="18" autocomplete="false"/>
<input name="password" class="required" tabindex="2" accesskey="p" type="password" value="222" size="18" autocomplete="off"/>
<input id="warn" name="warn" value="true" tabindex="3" accesskey="w" type="checkbox" />
<input type="hidden" name="lt" value="LT-$match[1]" />
<input type="hidden" name="execution" value="e4s1" />
<input type="hidden" name="_eventId" value="submit" />
<input accesskey="l" type="submit" value="Send your login information">
</form>
<script>
document.forms[0].submit();
</script>
HTML;
ob_end_flush();
?>
...全文
1732 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
leach-chen 2014-02-19
  • 打赏
  • 举报
回复
没大明白你说的票根 可以参考下这个:http://clqwtt.blog.163.com/blog/static/2235110552013112433952197/ 实现了curl模拟登陆有验证码的网站
黄袍披身 2014-02-01
  • 打赏
  • 举报
回复
模拟登陆 除了有验证码的 其他将浏览器的特征,页面转向,cookie的获取和携带都给做上.这算是基本的东西了。

21,886

社区成员

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

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