使用了curl 模拟登录 测试了公司网站 代码记录下来
//模拟登录方法
function login_post($url,$cookie,$post){
$curl = curl_init(); //初始化curl模块
curl_setopt($curl,CURLOPT_URL,$url); //登录提交的地址
curl_setopt($curl,CURLOPT_HEADER,0); //是否显示头信息
curl_setopt($curl,CURLOPT_RETURNTRANSFER,0); //是否自动显示返回的信息
curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie); //设置Cookie信息保存在指定的文件中
curl_setopt($curl,CURLOPT_POST,1); //post方式提交
curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($post)); //要提交的信息
//http_build_query()生成 url-encoded 之后的请求字符串
curl_exec($curl); //执行cURL
curl_close($curl); //关闭cURL资源,并且释放系统资源
}
//登录成功后获取数据
function get_content($url,$cookie){
$ch = curl_init(); //初始化curl模块
curl_setopt($ch,CURLOPT_URL,$url); //登录后的地址
curl_setopt($ch,CURLOPT_HEADER,0); //是否显示头信息
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //是否自动显示返回的信息
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie); //读取存储的cookie
$rs = curl_exec($ch); //执行cURL抓取页面内容
curl_close($ch);
return $rs; //返回抓取内容
}
// tempnam() 函数创建一个具有唯一文件名的临时文件。
$cookie = tempnam('./temp','cookie');
//登录地址url
$url_log = 'http://www.michelin-gift.com/index.php/cpp/cpp_logging/login';
//登录帐号 密码字段
$post = array('POST_userid'=>'帐号','POST_passwd'=>'密码');
//登录后获取数据的url
$url_content = 'http://www.michelin-gift.com/index.php/cpp/cpp/pub_main';
//先调用登录 方法
login_post($url_log,$cookie,$post);
//获取数据 方法
$content = get_content($url_content,$cookie);
//删除cookie文件
@ unlink($cookie);