标签:
该函数相关介绍:http://php.net/manual/zh/function.tempnam.php
tempnam函数能够在指定目录产生一个具有唯一文件名的文件名。通常应用于自定义SESSION文件名的情况。
这个函数还是非常有用的。例如如果我们要使用curl伪造一个session,那么就可以这样用。
相关资料:http://www.phpjx.com/show_5919.html
function vlogin($url,$request){
session_start();
$cookie_jar = tempnam('./tmp','cookie');//在当前目录下生成一个随机文件名的临时文件
$ch = curl_init($url); //初始化curl模块
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);//post方式提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);//要提交的内容
//把返回$cookie_jar来的cookie信息保存在$cookie_jar文件中
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
$xianshi=curl_exec ($ch);
curl_close($ch); //get data after login
$curl="http://phpjx.local.com/login/session/show.php";//要抓取数据的页面,该页面有session判断权限
$ch=curl_init($curl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "sitename=phpjx.com&siteurl=http://www.phpjx.com");
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
$xianshi=curl_exec($ch);
curl_close($ch);
return $xianshi;
}
$url="http://phpjx.local.com/login/session/check.php";//我们向该页面传值,用来生成session,接着传递到想要抓取的那个页面
$request="username=yansy";
echo vlogin($url, $request)
?>
可以自行百度一下相关资料。
标签: