background image

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 = '')