前几天,先测试了利用Python脚本登录百度空间,问题已解决,可以参照我的博文《python 脚本登录百度空间》,今天完善了php方式的登录过程,原理同python脚本的登录。 代码如下: 登录代码 private function loginBaiduZone($user,$password){//get Cookie$ret

前几天,先测试了利用Python脚本登录百度空间,问题已解决,可以参照我的博文《python 脚本登录百度空间》,今天完善了php方式的登录过程,原理同python脚本的登录。

代码如下:

登录代码

private function loginBaiduZone($user,$password)

{

//get Cookie

$ret = $this->doHttpPost("https://passport.baidu.com/v2/api/?getapi&class=login&tpl=mn&tangram=false", "", "");

//get token

$ret = $this->doHttpPost("https://passport.baidu.com/v2/api/?getapi&class=login&tpl=mn&tangram=false", "", "");

preg_match_all('/login_token=\'(.+)\'/', $ret, $tokens);

$login_token = $tokens[1][0];

//login

$post_data = array();

$post_data['username'] = $user;

$post_data['password'] = $password;

$post_data['token'] = $login_token;

$post_data['charset'] = "UTF-8";

$post_data['callback'] = "parent.bd12Pass.api.login._postCallback";

$post_data['index'] = "0";

$post_data['isPhone'] = "false";

$post_data['mem_pass'] = "on";

$post_data['loginType'] = "1";

$post_data['safeflg'] = "0";

$post_data['staticpage'] = "https://passport.baidu.com/v2Jump.html";

$post_data['tpl'] = "mn";

$post_data['u'] = "http://www.baidu.com/";

$post_data['verifycode'] = "";

$ret = $this->doHttpPost("http://passport.baidu.com/v2/api/?login", $post_data, "https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F");

}

Http请求的工具函数

private function doHttpPost($url, $post_data, $referef)

{

$mcurl = curl_init();

curl_setopt($mcurl, CURLOPT_URL, $url);

if ($post_data != "")

{

curl_setopt($mcurl, CURLOPT_POST, 1);

curl_setopt($mcurl, CURLOPT_POSTFIELDS, $post_data);

}

if ($referef != "")

{

curl_setopt($mcurl, CURLOPT_REFERER, $referef);

}

curl_setopt($mcurl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($mcurl, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($mcurl, CURLOPT_HEADER, 1);

curl_setopt($mcurl,????CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.92 Safari/537.1 LBBROWSER");

if ($this->cookie != "")

{

curl_setopt($mcurl, CURLOPT_COOKIE, $this->cookie);

}

$data = curl_exec($mcurl);

curl_close($mcurl);

preg_match_all('/Set-Cookie:((.+)=(.+))$/m ', $data, $cookies);

if(is_array($cookies) && count($cookies) > 1 && count($cookies[1]) > 0)

{

foreach($cookies[1] as $i => $k)

{

$cookieinfos = explode(";", $k);

if(is_array($cookieinfos) && count($cookieinfos) > 1)

{

$this->cookie .= $cookieinfos[0];

$this->cookie .= "; ";

}

}

}

return $data;

}

接下来再测试博文的发布代码。

The post PHP 登录百度空间 appeared first on 润物无声.

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php百度空间,PHP 登录百度空间相关推荐

  1. curl php 百度,phpcurl模拟登录百度首页

    代码如下: */$post_fields = array();$post_fields = preg_data($contents,'aid',$post_fields);$post_fields = ...

  2. selenium与python自动化测试模拟登录百度

    将一些必须必要条件准备好 1,安装chorme浏览器 1,安装依赖 sudo apt-get install libxss1 libappindicator1 libindicator7 2,下载go ...

  3. python自动登录百度空间

    参考: http://blog.163.com/sunzs20113@126/blog/static/3706880920120105131652/ 开发环境:Fedora12 + Python2.6 ...

  4. Python学习笔记(二):利用Selenium一键自动登录QQ空间、百度等网站

    曾经在学校闲的时候,见到有人通过程序自动登录百度等网站,觉得很厉害.实习的时候,偶然的机会也研究了一下,有空的时候试试运行就自动点赞,觉得还比较有意思,可以用来装装X,哈哈. 一.python环境 第 ...

  5. 百度云android隐藏空间,一招教你使手机端百度网盘中的隐藏空间在文件列表中显示出来...

    一招教你使手机端百度网盘中的隐藏空间在文件列表中显示出来 相信很多小伙伴都有在使用手机百度网盘,其中的隐藏空间如何才能在文件列表中显示出来呢?方法很简单,下面小编就来为大家介绍. 具体如下: 1. 首 ...

  6. 百度网盘隐藏空间显示服务器,百度网盘隐藏空间在哪怎么打开?百度网盘隐藏空间这样开...

    百度网盘可以用来上传和下载,当然也可以用来存储一些大的文件.用来存储大文件的百度网盘难道就不用担心存储空间的问题吗?百度网盘的存储空间也不是无限大的,但是我们可以进行充分利用,其实百度网盘是有隐藏空间 ...

  7. 网站改版更换服务器seo,网站改版、更换域名、换空间如何通知百度 | 衡水SEO老刘...

    网站改版该如何通知百度 为了改变站点运营效果,部分站长会选择对网站进行改版.百度站长平台站在搜索引擎的角度给站长朋友一些建议:首先站长们应该明确,网站只要发生大大的变化(如换域名.子目录改版为二级域名 ...

  8. 写给急功过利的百度:从此放弃百度空间

    从n年前,以为百度是咱们民族互联网行业的象征之一,赚了很多钱,但不以赚钱为目的,在赚到钱的同时,会向中国广大的IT提供一些免费而稳定的辅助服务. 后来,百度推出的每项公众服务我都有关注到,如:百度空间 ...

  9. 1、IOS开发--iPad之仿制QQ空间(登录界面搭建+登录逻辑实现)

    开始搭建登录界面 登录界面效果图: 相关的图片资源下载百度云备份链接: http://pan.baidu.com/s/1o71cvMU 密码: 2h7e 步骤开始: 设置辅助窗口的位置在下方 快捷键o ...

最新文章

  1. 在线作图丨如何绘制精美的3D饼图
  2. Hyper-V Server 2008 R2 系统部署向导
  3. ToolPart的简单开发
  4. 【MySQL】 已经存在大量数据的表做分区
  5. 纪年法:公元和公元前
  6. 数据结构之排序算法Java实现(2)——选择类排序之堆排序算法
  7. 支付宝移动支付SDK - Ruby版本
  8. Error:Execution failed for task ':app:clean'. Unable to delete directory: /media/file/workspaces/a
  9. 【一天一个C++小知识】012.C++11常用新特性汇总
  10. Labview软件开发—界面切换—选项卡的应用
  11. 4000元组装电脑配置清单2021 4000元台式电脑组装配置单
  12. 光栅渲染器(五)2d-3d坐标系
  13. 数据库之区分DB\DBMS\DBS
  14. 天池-金融风控训练营-task5-模型融合
  15. 1131 拯救大兵瑞恩(单源最短路径扩展-拆点(dp))
  16. “第五空间”智能安全大赛部分WP
  17. 华工计算机组成原理试卷,华工 2014计算机组成原理 作业答案
  18. 浅谈绝对定位与相对定位
  19. 【游戏编程扯淡精粹】调试方法论
  20. CSS width = 100vw 和width = 100%的区别

热门文章

  1. [转载]彻底理解JAVA动态代理
  2. Java_idea+MySQL基于Springboot口腔牙科诊所管理系统#vue毕业设计
  3. java银行业务_java模拟银行存取款业务
  4. UE4/5动画系列(1.模板制作)
  5. python入门II--类型检查--类型转换--运算符
  6. 大公司的社招该如何准备?
  7. ThinPrint与ThinClient
  8. 【C++编程题】斯诺克台球
  9. div背景透明文字不透明
  10. [创业-24]:职场中,技术人员要避免自己成为一只“仓鼠之轮”上的仓鼠