php curl抓取网页数据(php使用curl及cookie实现远程登陆的操作技巧实例分析)
优采云 发布时间: 2022-01-04 10:01php curl抓取网页数据(php使用curl及cookie实现远程登陆的操作技巧实例分析)
本文文章主要介绍了基于curl后台的PHP远程登录正方教务系统的方法,分析了PHP使用curl和cookies结合形式实现远程登录的操作技巧例子。有需要的朋友可以参考以下
本文介绍了基于curl后台远程登录正方教务系统的PHP方法。分享给大家,供大家参考,如下:
去年就想过怎么解决这个问题,今年终于想通了,但是验证码一定要填。
如果能像360一样抢票,没有自动识别验证码,那就没问题了。废话不多说。回到主题
此处使用 CURL。
设计思路:先登录页面获取COOKIES,然后找到有cookies的服务器索取验证码。最后,提供服务器所需的所有信息。
(这种思路是完全模仿浏览器访问页面,根本区别在于人还是机器)
public function index(){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //填对于的URL就可以了 curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); //主要cookie的路径,本保存页面cookie curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //返回结果自动输出 $response = curl_exec($ch); curl_close($ch); }
访问正方教务系统首页,首先是获取页面中的HTML,其次是获取cookies。
你还有什么想问的?获取 HTML 有什么用?
如果你仔细观察教务系统首页的HTML,你会发现隐藏的字段很多,而且这些字段都在变化。
因此,您只需获取所有 HTML 并对其进行解析,然后提取所有必需字段
HTML 结构
如果没有看到,隐藏字段都是提交数据所必需的,不能再多了。
页面效果
接下来,我有一个最重要的问题,我如何获得验证码?
我想直接开始
不是都好吗?虽然验证码出来了,但是验证码不属于你,所以当你保存远程登录时,它会告诉你验证码错误
我如何获得自己的验证码?这时候自然会想到饼干。
服务器如何区分浏览器请求是否为同一个人?这取决于 cookie 中的 sessionid。
所以。您获取在主页上获得的 cookie,并向服务器询问您的验证码。它会给你一个错误吗?
public function getImg() { $url = "http://xxxx/CheckCode.aspx"; $filedir = SITE_PATH."/TMP/Cookies"; $cookie_file = $filedir."/cookie.txt"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); // curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, "10"); header("Content-type:image/gif"); //这个视不同图片格式不一样,请注意 echo curl_exec($ch); curl_close($ch); }
然后在其他页面调用该方法,即可获取验证码。
CURL 的 PHP 请求和您浏览器发送的 PHP 属于两个不同的线程,因此它们的 cookie 是不同的并且是共享的。
然后就可以登录了,但是不要以为通过这种方式登录就可以操作所有功能,那你就错了。有一个非常小的细节。.
更多对PHP相关内容感兴趣的读者可以查看本站专题:《php curl用法总结》、《PHP数组操作技巧》、《php排序算法总结》、《PHP常用遍历算法及技巧总结》、《PHP数据结构与算法教程》、《php编程算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP操作及运算符用法总结》、《php字符串(string)用法总结》和《 PHP数据库常用操作技巧汇总》
我希望这篇文章能帮助你进行 PHP 编程。
以上就是基于正方教务系统curl后台远程登录方法的PHP详细内容。更多详情请关注其他相关html中文网站文章!