1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发

PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发

时间:2021-10-31 18:21:00

相关推荐

PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发

php教程|php手册

CURL,模拟登录

php教程-php手册

贵金属 网站源码,ubuntu里配置gcc,网站反爬虫申明,php阶乘相加小于一个数,临沂seo营销lzw

PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发,需要的朋友可以参考下。

易语言30000源码,vscode tsc,ubuntu镜像源,tomcat 302,sqlite添加字段,网页设计 查看更多,连接远程数据库服务器,转发域名服务器,滚动轴插件,热门的前端框架,爬虫天猫,php整数,seo 查询,springboot异常分类,dede文章正文调用标签,网站 素材,网页提取自动发货免费,贸易公司做广告模板,destoon 网站后台,模板新手静态页面学习,酒店管理系统的组件图,html应用程序主机已停止工作lzw

vc 组态源码,ubuntu查看ssl版本,tomcat中服务关闭窗口,爬虫买家秀,php建站哪里实惠,西风seo圳SEO优化lzw

代码如下:

/**

* CURL请求

* @param String $url 请求地址

* @param Array $data 请求数据

*/

function curlRequest($url,$data=”,$cookieFile=”){

$ch = curl_init();

$option = array(

CURLOPT_URL => $url,

CURLOPT_HEADER =>0,

CURLOPT_RETURNTRANSFER => 1,

);

if($cookieFile){

$option[CURLOPT_COOKIEJAR] = $cookieFile;

$option[CURLOPT_COOKIEFILE] = $cookieFile;

//$option[CURLOPT_COOKIESESSION] = true;

//$option[CURLOPT_COOKIE] = ‘prov=42;city=1’;

}

if($data){

$option[CURLOPT_POST] = 1;

$option[CURLOPT_POSTFIELDS] = $data;

}

curl_setopt_array($ch,$option);

$response = curl_exec($ch);

if(curl_errno($ch) > 0){

throw_exception(“CURL ERROR:$url “.curl_error($ch));

}

curl_close($ch);

return $response;

}

function login($username,$password){

if($username && $password){

$preLoginData = curlRequest(‘/sso/prelogin.php?entry=weibo&callback=sinaSSOController.preloginCallBack&su=’.base64_encode($username).’&client=ssologin.js(v1.3.16)’,”,self::COOKIE_FILE);

preg_match(‘/sinaSSOController.preloginCallBack\((.*)\)/’,$preLoginData,$preArr);

$jsonArr = json_decode($preArr[1],true);

if(is_array($jsonArr)){

$postArr = array(

‘entry’ => ‘weibo’,

‘gateway’ => 1,

‘from’ => ”,

‘savestate’ => 7,

‘useticket’ => 1,

‘ssosimplelogin’ => 1,

‘su’ => base64_encode(urlencode($username)),

‘service’ => ‘miniblog’,

‘servertime’ => $jsonArr[‘servertime’],

‘nonce’ => $jsonArr[‘nonce’],

‘pwencode’ => ‘wsse’,

‘sp’ => sha1(sha1(sha1($password)).$jsonArr[‘servertime’].$jsonArr[‘nonce’]),

‘encoding’ => ‘UTF-8’,

‘url’ => ‘/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack’,

‘returntype’ => ‘META’

);

$loginData = curlRequest(‘/sso/login.php?client=ssologin.js(v1.3.16)’,$postArr,self::COOKIE_FILE);

if($loginData){

$matchs = array();

preg_match(‘/replace\(\(.*?)\’\)/’,$loginData,$matchs);

$loginResult = curlRequest($matchs[1],”,self::COOKIE_FILE);

$loginResultArr = array();

preg_match(‘/feedBackUrlCallBack\((.*?)\)/’,$loginResult,$loginResultArr);

//$userInfo = json_decode($loginResultArr[1],true);

//Log::info(var_export($loginResultArr[1]));

}else{

throw_exception(‘Login sina fail.’);

}

}else{

throw_exception($preLoginData);

}

}else{

throw_exception(‘Param error.’);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。