百度baidu 空间自动发BLOG机

字体大小: 中小 标准 ->行高大小: 标准

百度baidu 空间自动发BLOG机 [贴吧回贴机姊妹篇http://hi.baidu.com/hetal]

  1. <?php
  2. /**
  3. * baidu 空间自动发BLOG机 [贴吧回贴机姊妹篇http://hi.baidu.com/hetal]
  4. * author: hetal
  5. * email : huoqi29@163.com
  6. * qq : 231073376
  7. * msn : hetao29@hotmail.com
  8. * web : http://www.haqoo.com
  9. * weburl: <a href="http://www.haqoo.com">http://www.haqoo.com</a>
  10. *
  11. */
  12. class Baidu_Blog{

  13. var $proxyPort;
  14. var $proxyHost;
  15. var $cookie;
  16. var $blogname="";
  17. //设置代理 ,ok
  18. function setProxy($proxyHost,$proxyPort){
  19. $this->proxyPort=$proxyPort;
  20. $this->proxyHost=$proxyHost;
  21. }
  22. //初始化baiduID ,ok
  23. function init(){
  24. set_time_limit(0);
  25. $data = $this->_getUrl("http://www.baidu.com/search/img/logo.gif");
  26. preg_match_all ("/Set-Cookie: (.+?)=(.+?);/", $data, $_matches,PREG_SET_ORDER);
  27. $tmp=array();
  28. for($i=0;$i<count($_matches);$i++){
  29. $tmp[]=$_matches[$i][1]."=".$_matches[$i][2];
  30. }
  31. $this->cookie=implode(';',$tmp);
  32. }
  33. //登录
  34. function login($user,$pass){
  35. $cookie=$this->cookie;
  36. $post_data ="tpl=&tpl_ok=&skip_ok=&aid=0&need_pay=&need_coin=0&pay_method=0&u=&next_target=&return_method=&more_param=&return_type=&username=$user&password=$pass&Submit=+%B5%C7%C2%BC+";
  37. $post_data_le = strlen($post_data);
  38. if(!empty($this->proxyPort) and !empty($this->proxyHost)){
  39. $post_url="http://passport.baidu.com/?login";
  40. $post_port=$this->proxyPort;
  41. $post_host=$this->proxyHost;
  42. $connect="Proxy-Connection";
  43. }else{
  44. $post_url="/?login";
  45. $post_port=80;
  46. $connect="Connection";
  47. $post_host="passport.baidu.com";
  48. }
  49. $data="POST $post_url HTTP/1.1\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\nReferer: http://passport.baidu.com/?login\nAccept-Language: zh-cn\nContent-Type: application/x-www-form-urlencoded\nAccept-Encoding: gzip, deflate\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Alexa Toolbar)\nHost: passport.baidu.com\nContent-Length: $post_data_le\n$connect: Close\nCache-Control: no-cache\nCookie: $cookie\n\n$post_data\n";
  50. $sock = fsockopen($post_host,$post_port,$errno,$error,3);
  51. fputs($sock,$data);
  52. stream_set_timeout($sock, 3);
  53. $rt=stream_get_contents($sock);
  54. $rt=str_replace("\n","",$rt);
  55. $rt=str_replace("\t","",$rt);
  56. fclose($sock);
  57. preg_match_all ("/Set-Cookie: (.+?)=(.+?);/", $rt, $_matches,PREG_SET_ORDER);
  58. $tmp=array();
  59. for($i=0;$i<count($_matches);$i++){
  60. $tmp[]=$_matches[$i][1]."=".$_matches[$i][2];
  61. }
  62. $this->cookie=$cookie.";".implode(';',$tmp);
  63. if(isset($tmp['BDUSS']) and !empty($tmp['BDUSS'])){
  64. return 0;
  65. }else{
  66. return 1;
  67. }
  68. }
  69. //回贴
  70. function post($title,$text,$catname="默认分类"){
  71. $tmp = array();
  72. $tmp[]="ct=1";
  73. $tmp[]="cm=1";
  74. $tmp[]="spRefURL=http://hi.baidu.com/music%5Fblog/creat/blog/";
  75. $tmp[]="spBlogTitle=".rawurlencode($title);
  76. $tmp[]="spBlogText=".rawurlencode($text);
  77. $tmp[]="spBlogCatName=".rawurlencode($catname);
  78. $tmp[]="spIsCmtAllow=1";
  79. $tmp[]="spBlogPower=0";
  80. $tmp[]="tj=".rawurlencode("发表文章");;

  81. $cookie=$this->cookie;
  82. $post_data =implode("&",$tmp);
  83. $post_data_le = strlen($post_data);
  84. if(!empty($this->proxyPort) and !empty($this->proxyHost)){
  85. $post_url="http://hi.baidu.com/".$this->blogname."/commit";
  86. $post_port=$this->proxyPort;
  87. $connect="Proxy-Connection";
  88. $post_host=$this->proxyHost;
  89. }else{
  90. $post_url="/".$this->blogname."/commit";
  91. $post_port=80;
  92. $connect="Connection";
  93. $post_host="hi.baidu.com";
  94. }
  95. $data="POST $post_url HTTP/1.1\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\nAccept-Language: zh-cn\nContent-Type: application/x-www-form-urlencoded\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Alexa Toolbar)\nHost: tiebacommit.baidu.com\nContent-Length: $post_data_le\nConnection: Close\nCache-Control: no-cache\nCookie: $cookie\n\n$post_data\n";
  96. $sock = fsockopen($post_host,$post_port,$errno,$error,3);
  97. if(empty($sock)){
  98. return -2;
  99. }
  100. fputs($sock,$data);
  101. stream_set_timeout($sock, 3);
  102. $rt=stream_get_contents($sock);
  103. $rt=str_replace("\n","",$rt);
  104. $rt=str_replace("\t","",$rt);
  105. fclose($sock);
  106. if(stripos($rt,"恭喜,您的文章已经发表成功")){
  107. return 0;
  108. }else{
  109. return -1;
  110. }
  111. }
  112. function _getUrl($url,$referer=""){
  113. $purl= parse_url($url);
  114. $host=$purl['host'];
  115. if(!empty($this->proxyHost) and !empty($this->proxyPort)){
  116. $port=$this->proxyPort;
  117. $post_host=$this->proxyHost;
  118. }else{
  119. $post_host=$purl['host'];
  120. if(empty($purl['port'])){
  121. $port=80;
  122. }else{
  123. $port=$purl['port'];
  124. }
  125. }
  126. $cookie = $this->cookie;
  127. $path=$purl['path'];
  128. $query=empty($purl['query'])?"":$purl['query'];
  129. if(!empty($proxyhost) and !empty($proxyport)){
  130. $content="";
  131. $content.="GET $url HTTP/1.0\r\n";
  132. $content.="Accept: */*\r\n";
  133. if(!empty($referer))
  134. $content.="Referer: $referer\r\n";
  135. $content.="Accept-Language: zh-cn\r\n";
  136. $content.="Proxy-Connection: Close\r\n";
  137. $content.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
  138. $content.="Host: $host\r\n";
  139. $content.="Pragma: no-cache\r\n";
  140. $content.="Cookie: $cookie\r\n";
  141. $content.="\r\n\r\n";
  142. }else{
  143. $content="";
  144. if(!empty($query))
  145. $content.="GET $path?$query HTTP/1.0\r\n";
  146. else
  147. $content.="GET $path HTTP/1.0\r\n";
  148. $content.="Accept: */*\r\n";
  149. if(!empty($referer))
  150. $content.="Referer: $referer\r\n";
  151. $content.="Accept-Language: zh-cn\r\n";
  152. $content.="Connection: Close\r\n";
  153. $content.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
  154. $content.="Host: $host\r\n";
  155. $content.="Pragma: no-cache\r\n";
  156. $content.="Cookie: $cookie\r\n";
  157. $content.="\r\n\r\n";
  158. }
  159. $sock=fsockopen ($post_host,$port,$errno, $errstr, 3);
  160. if($sock){
  161. fwrite($sock,$content);
  162. }else{
  163. return null;
  164. }
  165. $rt=stream_get_contents($sock);
  166. fclose($sock);
  167. return $rt;
  168. }


  169. }
  170. $a = new Baidu_Blog;
  171. $title="T";
  172. $text="<a href='ddd'>xxxxxxx</a>";
  173. //1.初始化
  174. $a->init();
  175. //2.设置blog名,如http://hi.baidu.com/mymusicblog的blog名是 mymusicblog [这个必须]
  176. $a->blogname="music_blog";
  177. //3.登录
  178. if($a->login("music_blog","music_blog")){
  179. echo "Login Success\n";
  180. }else{
  181. die("Login Fail\n");
  182. }
  183. //4.发BLOG
  184. if($a->post($title,$text)==0){
  185. echo "OK";
  186. }else{
  187. echo "FAIL";
  188. }
  189. ?>

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/29990.html