您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php模拟登陆抓取页面内容 curl使用方法

2024/6/5 0:46:08发布16次查看
平时开发中经常会遇到抓取某个页面内容, 但是有时候某些页面需要登陆才能访问, 最常见的就是论坛, 这时候我们需要来使用curl模拟登陆。 大致思路:需要先请求提取 cookies 并保存,然后利用保存下来的这个cookies再次发送请求来获取页面内容,下面我们直接上代码
<?php /** * @brief php读取curl模拟登陆, 获取cookie, 带cookie进行请求 * @date: 2016/7/2 * @time: 9:41 */ //设置cookie保存位置 $cookiefile = dirname(__file__).'cookie.curl.tmp'; //第一步:获取cookie $url = 'http://www.pythontab.com'; $data = array( 'username' => 'pythontab', 'password' => 'pythontab', ); //curl初始化 $ch = curl_init(); curl_setopt($ch, curlopt_url, $url); //设置为post请求 curl_setopt($ch, curlopt_post, true); //设置附带返回header信息为空 curl_setopt($ch, curlopt_header, 0); //post数据 curl_setopt($ch, curlopt_postfields, $data); //cookie保存文件位置 curl_setopt($ch, curlopt_cookiejar, $cookiefile); //设置数据返回作为变量储存,而不是直接输出 curl_setopt($ch, curlopt_returntransfer, true); //执行请求 $ret = curl_exec($ch); //关闭连接 curl_close($ch); //第二步:附带cookie请求需要登陆的页面 $url = 'http://www.pythontab.com'; //curl初始化 $ch = curl_init(); curl_setopt($ch, curlopt_url, $url); //设置为post请求 curl_setopt($ch, curlopt_post, true); //设置附带返回header信息为空 curl_setopt($ch, curlopt_header, 0); //设置cookie信息文件位置, 注意与第二步中的获取不同,这里是读取 curl_setopt($ch, curlopt_cookiefile, $cookiefile); //设置数据返回作为变量储存,而不是直接输出 curl_setopt($ch, curlopt_returntransfer, true); //执行请求 $ret = curl_exec($ch); //关闭连接 curl_close($ch); //打印抓取内容 var_dump($ret);
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product