加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-09-05 16:00:23 所属栏目:PHP教程 来源:
导读:在php中要实现用户登录我们一般都会到curl模拟登陆功能,下面我就基于php的curl来实现登录人人网,完整的例子希望对各位有帮助,代码如下:

<?php
$cookie_file = dirname(__FILE__)."/renren.cookie";

$login
在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 
 
//发布信息 
$poststr['content'] = "这就是一个测试而已!!!"; 
$poststr['withInfo'] = '{"wpath":[]}'; 
$poststr['hostid:'] = $uid; 
$poststr['privacyParams'] = '{"sourceControl": 99}'; 
$poststr['requestToken'] = $token; 
$poststr['_rtk'] = $rtk; 
$poststr['channel'] = "renren"; 
 
$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 !!!"; 
}

(编辑:汽车网)

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

    推荐文章