前几天做了一个Java的新浪通行证模拟登录测试。现在给大家一个php的新浪通行证、微博登录的示例:具体都有备注,大家阅读代码吧.

'login.sina.com.cn','User-Agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0','Accept' => '*/*','Accept-Language' => 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3','Accept-Encoding' => 'gzip, deflate','Referer' => 'http://login.sina.com.cn/','Connection' => 'keep-alive' );//base64加密后用户名private $su = '';//js加密后的密码private $sp = '';function __construct() {}//预登陆function pre_login() {// 用户名称base64加密-用于预登陆$this->su = base64_encode ( urlencode ( $this->username ) );// 预登陆url$pre_login_url = 'http://login.sina.com.cn/sso/prelogin.php?entry=account&callback=sinaSSOController.preloginCallBack&su=';$pre_login_url = $pre_login_url . $this->su . '&rsakt=mod&client=ssologin.js(v1.4.15)&_=' . time ();$return_val = $this->request_url ( $pre_login_url, null, $this->request_cookie, $this->request_headers);list ( $header, $body ) = explode ( "\r\n\r\n", $return_val, 2 );preg_match_all ( "/Set\-Cookie:([^;]*);/", $header, $matches );$info ['cookie'] = $matches;$info ['header'] = $header;$info ['content'] = $body;$this->request_cookie .= $matches;$body = str_replace('sinaSSOController.preloginCallBack(', '', $body);$json = str_replace(')', '', $body);$this->json_obj = json_decode($json);//ajax后变量重置,所以存到cookieparam::set_cookie('sina_su', $this->su);param::set_cookie('sina_cookie', $this->request_cookie);param::set_cookie('sina_servertime', $this->json_obj->servertime);param::set_cookie('sina_nonce', $this->json_obj->nonce);param::set_cookie('sina_rsakv', $this->json_obj->rsakv);//加密明文密码$this->ajax_pwd_encode();}//根据预登陆返回信息,登录function account_login() {//登录url$login_url = 'http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)&_='.time();$this->request_headers['Content-Type'] = 'application/x-www-form-urlencoded';//登录所需数据$post_data['entry'] = 'account';$post_data['gateway'] = '1';$post_data['from'] = '';$post_data['savestate'] = '0';$post_data['useticket'] = '0';$post_data['pagerefer'] = '';$post_data['vsnf'] = '1';$post_data['su'] = param::get_cookie('sina_su');$post_data['service'] = 'sso';$post_data['servertime'] = param::get_cookie('sina_servertime');$post_data['nonce'] = param::get_cookie('sina_nonce');$post_data['pwencode'] = 'rsa2';$post_data['rsakv'] = param::get_cookie('sina_rsakv');$post_data['sp'] = $this->sp;$post_data['sr'] = '1366*768';$post_data['encoding'] = 'UTF-8';$post_data['cdult'] = '3';$post_data['domain'] = 'sina.com.cn';$post_data['prelt'] = '51';$post_data['returntype'] = 'TEXT';//登录$data = $this->request_url($login_url, $post_data, $this->request_cookie, $this->request_headers);//获取返回cookie 及 json数据list ( $header, $body ) = explode ( "\r\n\r\n", $data, 2 );//保存cookie$this->save_cookie($header);$json_login = json_decode($body);//访问返回json链接$domain_urls = $json_login->crossDomainUrlList;$i = 0;foreach ($domain_urls as $v) {$req_url = $v.'&callback=sinaSSOController.doCrossDomainCallBack&scriptId=ssoscript'.$i.'&client=ssologin.js(v1.4.15)&_='.time();$req_data = $this->request_url ( $req_url, null, $this->request_cookie, array(), 0);// list ( $header, $body ) = explode ( "\r\n\r\n", $data, 2 );// $this->save_cookie($header);$i ++;}}function save_cookie($header) {$headers = explode('\r\n', $header);foreach ($headers as $v) {$tmp = explode("\r\n", $v);foreach ($tmp as $it) {$pos = strpos($it, 'Set-Cookie');if ($pos !== false) {$cv = explode(":", $it);$this->request_cookie .= $cv[1].';';}}}}function sina_login() {//获取加密后的密码$this->sp = $_GET['sp'];//账号登录$this->account_login();//重定向到新浪通行证页面 $this->request_cookie = trim($this->request_cookie); $this->request_headers['Content-Type'] = 'text/html'; $url = 'http://login.sina.com.cn';//返回的html $html = $this->request_url($url, null, $this->request_cookie, $this->request_headers, 0);}//调用js 加密密码function ajax_pwd_encode() {echo "";echo <

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

php网站统一登录,php新浪通行证、新浪微博模拟统一登录(后台网页抓取版)2016相关推荐

  1. php 新浪通行证、新浪微博模拟统一登录 (后台网页抓取版) 2016

    前几天做了一个Java的新浪通行证模拟登录测试.现在给大家一个php的新浪通行证.微博登录的示例,下面是在phpcms中实现的,访问链接的方式与单独php项目有些差异,php单独项目时,对应访问的链接 ...

  2. python爬网站数据实例-如何用Python爬数据?(一)网页抓取

    如何用Python爬数据?(一)网页抓取 你期待已久的Python网络数据爬虫教程来了.本文为你演示如何从网页里找到感兴趣的链接和说明文字,抓取并存储到Excel. 需求 我在公众号后台,经常可以收到 ...

  3. python外国网站爬虫_Python3网络爬虫(一):利用urllib进行简单的网页抓取

    一.预备知识 1.Python3.x基础知识学习: 可以在通过如下方式进行学习: (1)廖雪峰Python3教程(文档): (2)菜鸟教程Python3教程(文档): (3)鱼C工作室Python教程 ...

  4. php 新浪通行证登录 新浪微博登录 模拟登录 (浏览器版) 2016

    由于需要项目需要管理微博平台内容,集成登录微博管理平台功能,所以在抓取网页基础上探索了一下浏览器模拟登录,已经实现登录功能,采用JQuery和php结合的方式实现的,其中需要注意跨域访问问题,还要注意 ...

  5. android新浪登录接口,新浪游戏AndroidSDK接入文档—服务端.md

    # SNG联运游戏平台接口文档ForCP(服务端) ## 1.用户接口 ### 1.1.用户信息校验接口(服务端) http://m.game.weibo.cn/api/sdk/user/check. ...

  6. 按键精灵 新浪通行证,并开通博客

    新浪通行证,并开通博客 '前提: '1.安装按键精灵8 '2.安装锐马远程人工代答软件http://www.rapidhorse.com '3.关闭屏幕保护,设置屏幕分辩率为1024*768 '4.启 ...

  7. 新浪体育——篮球足球的直播和战报爬取

    新浪体育--篮球足球的直播和战报爬取 用到的包的介绍 以上是基于python3.6.5的新浪体育直播间篮球足球的直播和战报爬取所引用到的全部内外部包,下面将会挑几个与爬虫息息相关的包进行介绍. 1.l ...

  8. python爬虫怎么爬同一个网站的多页数据-如何用Python爬数据?(一)网页抓取

    如何用Python爬数据?(一)网页抓取 你期待已久的Python网络数据爬虫教程来了.本文为你演示如何从网页里找到感兴趣的链接和说明文字,抓取并存储到Excel. 需求 我在公众号后台,经常可以收到 ...

  9. 小牛地图矢量抓取工具_SEO优化网站sitemap需要注意哪些要点才能很好的被百度蜘蛛抓取...

    SEO优化网站sitemap需要注意哪些要点才能很好的被百度蜘蛛抓取 一.全部链接真实有效. 地图的主要目的是方便搜索引擎蜘蛛抓取的,如果地图存在死链,会影响网站在搜索引擎中网站权重的,要仔细检查有无 ...

最新文章

  1. linux下的lamp环境的搭建!!!
  2. 2020年春季学期信号与系统课程作业参考答案-第十次作业
  3. 腾讯云+未来高峰对话:智能+时代的创新与探索
  4. 【画出漂亮的电路图】CircuiTikZ库学习第一天
  5. 理解Linux虚拟文件系统VFS
  6. socket解读,http和socket之长连接和短连接区别!
  7. MATLAB图像处理之二值化以及灰度处理
  8. OpenCV安装与第一个程序
  9. TIOBE 8 月编程语言排行榜:Python 奋力追赶 C,Swift 下跌
  10. 16进制数组转成10进制 qt_将十六进制转换为二进制qt
  11. apache-storm-0.9.6.tar.gz的集群搭建(3节点)(图文详解)
  12. 自己使用的jquery公用common.js
  13. 计算机函数if80到90分怎么弄,用EXCEL工作表怎样利用IF函数计算分数等级
  14. 腾讯TBS浏览服务打开word.pdf.ppt等文档的使用
  15. 利用Python绘制小狗小猫
  16. 利用Maya快速简便建立山脉模型
  17. Python之自制二维码
  18. VMware Workstation15配置虚拟网络编辑器固定IP地址
  19. 蓝桥杯_大胖子走迷宫
  20. 用于跑深度学习的嵌入式硬件平台资料整理(一)

热门文章

  1. 《华为工作法》读书笔记
  2. 博文推荐|通过 Apache Pulsar + ScyllaDB 构建实时聊天消息流
  3. linux纯命令行怎么下载,如何从Linux命令行轻松分享文件
  4. Pandas+Pyecharts | 北京某平台二手房数据分析+可视化
  5. cloudreve 使用阿里云 oss 和 cdn 加速
  6. JavaScript jQuery 实现banner(轮播图) 一
  7. 超详细的MES制造执行系统介绍——物料管理
  8. 前端学习便捷软件,插件
  9. ES6初学知识集锦1
  10. 尼玛,体检结果一出来,洋哥怂了