cURL是php内置的一个很有用的函数:
cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET , DICT, FILE 以及 LDAP等协议都可以很好的支持,包括一些:HTTPS认证,HTTP POST方法,HTTP PUT方法,FTP上传,keyberos认证,HTTP上传, 代理服务器 ,cookies,用户名/密码认证,下载文件 断点续传 ,上传文件断点续传,http代理服务器管道,甚至它还支持IPv6,scoket5代理服务器,通过http代理服务器上传文件到FTP服务器等等。这就是我们为什么要使用cURL的原因!
今天模拟登录安锋游戏, 来获取最新活动:
上代码:
//模拟登录
function login_post($url, $cookie, $post) {
$curl = curl_init();//初始化curl模块
curl_setopt($curl, CURLOPT_URL, $url);//登录提交的地址
curl_setopt($curl, CURLOPT_HTTPHEADER, [‘X-Requested-With:XMLHttpRequest’]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//是否自动显示返回的信息
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //设置Cookie信息保存在指定的文件中
curl_setopt($curl, CURLOPT_POST, 1);//post方式提交
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));//要提交的信息
curl_exec($curl);//执行cURL
curl_close($curl);//关闭cURL资源,并且释放系统资源
}
function get_content($url, $cookie) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [‘X-Requested-With:XMLHttpRequest’]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie
$rs = curl_exec($ch); //执行cURL抓取页面内容
curl_close($ch);
return $rs;
}
$url = ‘
$cookie = ‘./cookie.txt’;
$post = [
‘username’=>’user123’,
‘password’=>’************’
];
//模拟登录
login_post($url, $cookie, $post);
$content = get_content(‘ $cookie);
//匹配出所有活动
preg_match_all (‘/
]+>([^>]+)<\/a>/’, $content, $result);
foreach ($result[0] as $k => $v) {
$result[0][$k] = str_replace(‘
echo $result[0][$k];
}
echo $result[0][$k];
}
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~