小计之PHP post登录之后携带cookie进行get操作

<?php
date_default_timezone_set('Etc/GMT-8');//这里设置了时区date的时候
$cookie_file = tempnam('./temp', 'cookie');//设置cookie存放目录

$post_string = "这里改post的参数";
$url='post登录的网址';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
$ym = curl_exec($ch);
curl_close($ch);
if(strpos($ym,'登录成功') !== false) {
    
    
	echo '[登录状态]登录成功';//根据关键词判断是否登录成功
} else {
    
    
	exit('[登录状态]登录失败,请联系站长');//不成功则结束
}
$time = date('Y-m-d');
echo '<br>[当前日期]'.$time;

$send_url='需要get的网址';
$ch = curl_init($send_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);//带上cookie文件,访问需要访问的页面  
$contents = curl_exec($ch);
curl_close($ch);
unlink($cookie_file);//清理cookie文件  

echo '</br>[查询结果]'.$contents;//输出网页内容

/*以下是取中间文本的函数 
  getSubstr=调用名称
  $str=预取全文本 
  $leftStr=左边文本
  $rightStr=右边文本
*/
function getSubstr($str, $leftStr, $rightStr) {
    
    
	$left = strpos($str, $leftStr);
	//echo '左边:'.$left;
	$right = strpos($str, $rightStr,$left);
	//echo '<br>右边:'.$right;
	if($left < 0 or $right < $left) return '';
	return substr($str, $left + strlen($leftStr), $right-$left-strlen($leftStr));
}
?>

猜你喜欢

转载自blog.csdn.net/a952252664/article/details/118566010