新浪微博模拟登陆并发文

通过新浪通行证登陆微博,曲线救国,然后再进行模拟发文
<?php 
/*$temp = explode(' ',microtime());
$num = floor($temp[0]*1000);
if($num<100 && $num>=10)
	$second = $temp[1]*10000+$num;
else if($num < 10)
	$second = $temp[1]*100000+$num;
else
	$second = $temp[1]*1000+$num;*/
$url = "https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)";
header("Content-type: text/html; charset=utf-8");

//先登陆新浪通行证得到新浪的cookie
$ch = curl_init();
$cookie_jar = tempnam('./tmp','cookie');
$username = "";
$password = "";
$postData = array(
	'entry' => 'sso',
	'geteway' => '1',
	'from' => '',
	'savestate' => 30,
	'pagerefer' => 'http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.18)',
	'vsnf'=>'1',
	'su' => base64_encode($username),
	'service' => 'sso',
	'sp' => $password,
	'sr'=>'1366*768',
	'encoding' => 'UTF-8',
	'cdult' => 3,
	'domain' => 'sina.com.cn',
	'prelt' => 0,
	'returntype' => 'TEXT',
	);
$options = array(
	CURLOPT_URL => $url,
	CURLOPT_HEADER =>0, 
	CURLOPT_RETURNTRANSFER => 1,
	CURLOPT_SSL_VERIFYPEER => 0,
	CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36',
	CURLOPT_COOKIEJAR => $cookie_jar,
	CURLOPT_POST => 1,
	CURLOPT_POSTFIELDS => http_build_query($postData),
	);
curl_setopt_array($ch,$options); 
$content = curl_exec($ch);
$info = curl_getinfo($ch);
//var_dump(json_decode($content));
$login = json_decode($content,true);

//获取微博的cookie
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$login['crossDomainUrlList'][0]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_jar);    
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_jar);
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );    
$return = curl_exec($ch);
//$info = curl_getinfo($ch);
curl_close($ch);
//利用上一步的cookie登陆微博
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://weibo.com/home");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_jar);    
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_jar);
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );    
$return = curl_exec($ch);
//$info = curl_getinfo($ch);
curl_close($ch);
//print_r($return);

//进行发文!
$ch = curl_init();
$url = "http://weibo.com/aj/mblog/add?ajwvr=6&__rnd=";
$uid = $login['uid'];//得到uid,在下面的referer中使用
$postData = array(
	'location' => 'v6_content_home',
	'appkey' => '',
	'style_type' => '1',
	'pic_id' => '',
	'text' => 'I am robot!3',
	'pdetial'=>'',
	'rank' => 0,
	'rankid' => '',
	'module' => 'stissue',
	'pub_source'=>'main_',
	'pub_type' => 'dialog',
	'_t' => 0,
	);
$header= array(
	/*这样的写法是错误的!!!!
	'Accept'=>'',
	'Accept-Encoding'=>'gzip, deflate',
	'Accept-Language'=>'zh-CN,zh;q=0.8',
	'Connection'=>'keep-alive',
	'Content-Length'=>'140',
	'Content-Type'=>'application/x-www-form-urlencoded',
	//'User-Agent'=>'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36',
	'X-Requested-With'=>'XMLHttpRequest',
	'Host'=>'weibo.com',
	'Origin'=>'http://weibo.com',
	'Referer'=>'http://weibo.com/u/1770622960/home?wvr=5&lf=reg',*/
	'Accept:*/*',
	'Accept-Encoding:gzip, deflate',
	'Accept-Language:zh-CN,zh;q=0.8',
	'Connection:keep-alive',
	'Content-Length:140',
	'Content-Type:application/x-www-form-urlencoded',
	//'X-Requested-With:XMLHttpRequest',//可以不用写这行
	'Host:weibo.com',//一定需要
	//'Origin:http://weibo.com',//可以不用
	'Referer:http://weibo.com/u/'.$uid.'/home?wvr=5&lf=reg',//必须要,后面的query=>“?wvr=5&lf=reg”可以不用
	);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_jar);    
//curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_jar);
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );  
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData)); 
$return = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值