加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php curl模仿登陆人人网发表状态

发布时间:2022-02-19 06:09:40 所属栏目:PHP教程 来源:互联网
导读:在php中要实现用户登录我们一般都会到curl模拟登陆功能,下面我就基于php的curl来实现登录人人网,完整的例子希望对各位有帮助,代码如下: ?php $cookie_file = dirname(__FILE__)./renren.cookie; $login_url = http://passport.renren.com/PLogin.do; $post
  在php中要实现用户登录我们一般都会到curl模拟登陆功能,下面我就基于php的curl来实现登录人人网,完整的例子希望对各位有帮助,代码如下:
 
  <?php
  $cookie_file = dirname(__FILE__)."/renren.cookie";
  
  $login_url = 'http://passport.renren.com/PLogin.do';
  
  $post_fields['email'] = '';//人人的帐号
  $post_fields['password'] = '';//人人密码
  $post_fields['origURL'] = 'http%3A%2F%2Fhome.renren.com%2FHome.do';
  $post_fields['domain'] = 'renren.com';
  
  
  $ch = curl_init($login_url);
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
  curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
  $content = curl_exec($ch);
  curl_close($ch);
  //匹配用户的ID
  $send_url='http://www.renren.com/home';
  $ch = curl_init($send_url);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  curl_exec($ch);
  $info = curl_getinfo($ch);
  curl_close($ch);
  //获取用户id
  $tmp = explode('/',$info['redirect_url']);
  $uid = array_pop($tmp);
  unset($tmp);
  
  //$uid = "305115027";
  //获取token和rtk
  
  $send_url='http://www.renren.com/'.$uid;
  $ch = curl_init($send_url);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  $tmp = curl_exec($ch);
  curl_close($ch);
  preg_match_all("/get_check:'(.*?)',get_check_x:'(.*?)',/is",$tmp,$arr);
  $token = $arr[1][0];//1121558104
  $rtk = $arr[2][0];//e9a9cb2
   $head = array(
     'Referer:http://shell.renren.com/ajaxproxy.htm',
     'X-Requested-With:XMLHttpRequest',
    );
  $ch = curl_init("http://shell.renren.com/{$uid}/status");
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');
  curl_setopt($ch,CURLOPT_HTTPHEADER,$head);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $poststr);
  curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  $content = curl_exec($ch);//开源代码Cuoxin.com
  curl_close($ch);
  $data = json_decode($content,true);
  if($data["code"] == "0"){
   echo "发布成功!";
  }else{
   echo "shit !!!";
  }
 

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读