PHP 中两种模拟登陆的方法
php 模拟登录
获取 SESSIONID,并则在读取网页的时候发送
php 模拟登录的两种方法
方法 1 用 curl:
一.先开启 php curl 函数库的步骤
1).去掉 windows/php.ini 文件里;extension=php_curl.dll 前面的; /*用
echo phpinfo();查看
php.ini 的路径*/
2).把 php5/libeay32.dll,ssleay32.dll 复制到系统目录 windows/下
3).重启 apache
二.例子
例子:
<?php
$_jar = tempnam('./tmp','');
$ch = curl_init(); curl_setopt($ch,CURLOPT_URL,'http://******');
curl_setopt($ch, CURLOPT_POST, 1);
$request = 'email_address=&password=&action=';
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
//把返回来的信息保存在$_jar 文件中
curl_setopt($ch, CURLOPT_JAR, $_jar);
//设定返回的数据是否自动显示
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设定是否显示头信息
curl_setopt($ch, CURLOPT_HEADER, false);
//设定是否输出页面内容
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_exec($ch);
curl_close($ch); //get data after login
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, 'http://*****');
curl_setopt($ch2, CURLOPT_HEADER, false);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch2, CURLOPT_FILE, $_jar);
$orders = curl_exec($ch2);
echo '';
echo strip_tags($orders);
echo '';
curl_close($ch2);
?>
方法 2 用 fsockopen:
<?php
GetWebContent($host, $method, $str, $sessid = '')