PHP Curl模拟登录签到
PHP Curl模拟登录签到
qinjiudong 发表于11个月前
PHP Curl模拟登录签到
  • 发表于 11个月前
  • 阅读 18
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

<?php

/** 
*	curl登录签到
* 	201704
* 	W3C
* 	qjd
*/ 


$arr['cookstr'] = "";
$arr['url'] = "http://www.w3cschool.cn/checklogin";
$arr['url2'] = "http://www.w3cschool.cn/index/checkHeader";
$arr['pstr'] = "refer=&username=***&password=***&scode=&remember=1";
$arr['name'] = strtotime(date("Y-m-d H:00:00"));
$arr['ua'] = "客户端";

$strs = getw3c($arr);
$v = json_decode($strs)->statusCode;

// 登录失败删除缓存的cookie
if($v == '300'){
	unlink($arr['name']);
	$strs = getw3c($arr);
}

// 签到
$arr['url2'] = "http://www.w3cschool.cn/my/checkin";    
// 返回状态
echo json_decode(getw3c($arr))->message;

// w3c模拟登录签到
function getw3c($arr='') {
	if(empty($arr)) return 'value is null';     
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $arr['url']);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);      		// 不直接输出数据
	curl_setopt($ch, CURLOPT_POST, 1);						// post
	curl_setopt($ch, CURLOPT_POSTFIELDS, $arr['pstr']);  	// post字符串
	curl_setopt($ch, CURLOPT_COOKIE, $arr['cookstr']);   	// cookie
	curl_setopt($ch, CURLOPT_COOKIEFILE, $arr['name']);   	// 读取cookie文件
	curl_setopt($ch, CURLOPT_COOKIEJAR, $arr['name']);		//保存响应头cookie 
	curl_setopt($ch, CURLOPT_USERAGENT, $arr['ua']);     	//模拟客户端
	// curl_setopt($ch, CURLOPT_HEADER, 1);					
	if(!file_exists($arr['name'])) curl_exec($ch);    		// 缓存cookie
	curl_setopt($ch, CURLOPT_URL, $arr['url2']);      		// 访问要抓取的页面
	$res = curl_exec($ch);
	curl_close($ch);
	return $res;	
}

 

标签: curl PHP
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 49
码字总数 18224
×
qinjiudong
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: