SUB를 사용하기 전에 Weibo의 SUB 값을 얻어야 합니다. Sub는 Weibo 계정 로그인 상태의 쿠키입니다. 바이두의 bduss와 같은 종류입니다
SUB는 어떻게 얻나요?
weibo.com의 컴퓨터 버전을 열고 계정에 로그인하세요. 로그인에 성공한 후 브라우저 개발자 도구(요소 검사)를 엽니다.
사진과 같이 웨이보의 모든 쿠키를 보실 수 있습니다. sub 뒤의 값은 SUB입니다.
사진 http://7xrn7f.com1.z0.glb.clouddn.com/16-5-16/77590312.jpg
아래 코드에 sub를 붙여넣으세요. SUB는 대문자로 시작
형식: SUB=***************************************** * ****************
아직 끝나지 않았습니다. http://weibo.com/weiruanxiaobing을 열고 Xiaobing의 Weibo를 팔로우하세요.
그런 다음 그녀에게 비공개 메시지를 보내세요.
그는 귀하에게 답장을 보내 귀하의 휴대폰 번호를 바인딩하면 성공적으로 청구할 수 있도록 요청할 것입니다.
성공적으로 수신한 후 위 인터페이스를 사용하여 채팅할 수 있습니다.
<?php //此处新浪微博SUB define('SUB','SUB=******************************************************'); //end //临时cookies $cookie = dirname(__FILE__) . '/weibo.tmp'; //去除特殊字符 $contents=htmlspecialchars($_GET[msg]); $contents=preg_replace("/\s/","",$contents); //post数据 $post = array ( 'content'=>"$contents", 'rl'=>'2', 'uid'=>'5175429989', 'send'=>'发送' ); //curl模拟发送消息 if($_GET[msg]){}else{ echo '你提交的内容为空!'; exit; } $curl = curl_init();//初始化curl模块 curl_setopt($curl, CURLOPT_URL, 'http://weibo.cn/msg/do/post?st=7b1272');//登录提交的地址 curl_setopt($curl, CURLOPT_HEADER, 0);//是否显示头信息 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//是否自动显示返回的信息 curl_setopt($curl, CURLOPT_COOKIE, SUB); curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //设置Cookie信息保存在指定的文件中 curl_setopt($curl, CURLOPT_POST, 1);//post方式提交 curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));//要提交的信息 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_exec($curl);//执行cURL curl_close($curl);//关闭cURL资源,并且释放系统资源 sleep(1); //读取回复 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://m.weibo.cn/msg/messages?uid=5175429989&page=1'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIE, SUB); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $ct = curl_exec($ch); curl_close($ch); $ct=json_decode($ct,1); //print_r($ct); $m=$ct[data][0][text]; //替换 $m=str_replace("分享语音","对方给你发送了一段语音。暂时无法显示",$m); $m=str_replace("分享图片","对方给你发送了图片音。暂时无法显示",$m); //返回的结果 echo $m; ?>