PHP模拟登陆功能如何实现?下面这篇文章主要介绍了PHP 模拟登陆功能,结合实例形式详细分析了php基于curl的模拟表单登陆及session信息存储相关操作技巧,需要的朋友就来一聚教程网参考一下吧!
本文实例讲述了PHP 模拟登陆功能。分享给大家供大家参考,具体如下:
说明:该模拟登陆实例仅适用于没有验证码的模拟登陆实例
该程序基本功能是,模拟登陆高校图书馆网站,并获取读者信息和借书信息。
程序截图:
目录结构:
login.php
学号:judge.php
session_start();
require_once 'curl.php';
$url = "http://opac.li*b.ustc.*ed*u.cn/reader/redr_info.php";
$number = $_POST['number'];
$passwd = $_POST['passwd'];
$res = run_curl($url,$number,$passwd);
$pattern = '/
姓名:(.*)/';
preg_match($pattern, $res,$arr1);
if(is_array($arr1)){
$_SESSION['number'] = $number;
$_SESSION['passwd'] = $passwd;
$_SESSION['name'] = $arr1[1];
echo "";
}else{
echo "";
}
curl.php
<?php function run_curl($content_url,$number='',$passwd=''){
$cookie_file = tempnam('./temp','cookie');
$url = "http://opac.lib.*u*stc.e*du.cn/reader/redr_verify.php";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$post_fileds = "number=$number&passwd=$passwd&select=bar_no";
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fileds);
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
$content = curl_exec($ch);
curl_close($ch);
$ch = curl_init($content_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
index.php
<?php session_start();
$number = $_SESSION['number'];
$passwd = $_SESSION['passwd'];
$username = $_SESSION['name'];
if($number==''||$passwd==''||$username==''){
echo "
DeepSeek多模态怎么样及保姆级配置教程(codex、claude)实用指南
WSL2+Docker+Ollama本地部署大模型思路和实践指南(Qwen1.8b)实用指南
DeepSeek Harness热门插件盘点:10个实用插件,覆盖多Agent、上下文和多模态实用指南
grep文本搜索与正则表达式完整代码示例实用指南
AI漫剧伪装直男1‑24集无雾版夸克网盘资源免费分享
AI漫剧玉僧入尘1-68集无雾无删版夸克网盘资源免费分享