Rumah pembangunan bahagian belakang tutorial php php模拟用户自动在qq空间发表文章的步骤

php模拟用户自动在qq空间发表文章的步骤

Jun 13, 2016 pm 12:18 PM
cookie nbsp post

php模拟用户自动在qq空间发表文章的方法

我们这里是一个简单的利用php来模拟登录后再到QQ空间发送文章的一个简单的程序,有需要的朋友可以参考,或改进可以给我意见,代码如下:

 

 

[php] view plaincopy

 

  1.   
  2. //模拟get post请求函数 http://www.lai18.com  
  3.   
  4. /*  
  5.  
  6. 函数说明:  
  7.  
  8. 功能:请求方式可以get,post,可以发送的cookie,保存的cookiefile文件  
  9.  
  10. 参数:$url-----请求url    $referer---来源url    $postdata----------用于post请求的数据,''为get请求  
  11.  
  12. $cookie---------发送的cookie     $cookiefile-----保存的cookiefile文件  
  13.  
  14. 返回值:返回获取的源码  
  15.  
  16. */   
  17.   
  18. function request($url,$referer='',$postdata='',$cookie='',$cookiefile=''){   
  19.   
  20. //header设置   
  21.   
  22. $header='';   
  23.   
  24. $header.="Content-Type: application/x-www-form-urlencodedrn";//内容请求类型   
  25.   
  26. $header.="User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)rn";//浏览器字段   
  27.   
  28. $header.="Referer:".$referer."rn";//设置来源地址   
  29.   
  30. $header .= "Cookie:".$cookie ; //设置cookie,默认空   
  31.   
  32. //请求方法get post,通过$postdata空---get,非空----post   
  33.   
  34. if($postdata=='')$method='GET';   
  35.   
  36. else $method='POST';   
  37.   
  38. //定义用于创建流的数组   
  39.   
  40. $opts=array();   
  41.   
  42. $opts['http']=array('method'=>$method,'header'=>$header,'content'=>$postdata);   
  43.   
  44. //生成流   
  45.   
  46. $context=stream_context_create($opts);   
  47.   
  48. //发送请求,获取源码   
  49.   
  50. $yuanma=file_get_contents($url,false,$context);   
  51.   
  52. //是否需要保存cookie到文件,$cookiefile不空时   
  53.   
  54. if($cookiefile!=''){   
  55.   
  56. echo '需要保存cookie
    ';   
  57.   
  58. //判断保存文件存在,不存在创建   
  59.   
  60. if(!file_exists($cookiefile)){   
  61.   
  62. file_put_contents($cookiefile,'');   
  63.   
  64. }   
  65.   
  66. //获取cookie,保存起来   
  67.   
  68. $response=implode("rn",$http_response_header);   
  69.   
  70. //用正则匹配cookie   
  71.   
  72. $zengze="/Set-Cookie:(.*?)rn/";   
  73.   
  74. preg_match_all($zengze,$response,$cookie_arr);   
  75.   
  76. //存在匹配,保存   
  77.   
  78. if(!emptyempty($cookie_arr[1])){   
  79.   
  80. $cookiestr=implode(';',$cookie_arr[1]);   
  81.   
  82. file_put_contents($cookiefile,$cookiestr);   
  83.   
  84. echo '成功保存cookie
    ';   
  85.   
  86. }   
  87.   
  88. else echo '没有匹配到cookie
    ';   
  89.   
  90. }//end if($cookiefile!='')   
  91.   
  92. //返回源码   
  93.   
  94. return $yuanma;   
  95.   
  96. }//end function request($url,$referer,$postdata,$cookie,$cookiefile)    
  97.   
  98. //获得当前的脚本网址    
  99.   
  100. function GetCurUrl()    
  101.   
  102. {    
  103.   
  104. if(!emptyempty($_SERVER["REQUEST_URI"]))    
  105.   
  106. {    
  107.   
  108. $scriptName = $_SERVER["REQUEST_URI"];    
  109.   
  110. $nowurl = $scriptName;    
  111.   
  112. }    
  113.   
  114. else    
  115.   
  116. {    
  117.   
  118. $scriptName = $_SERVER["PHP_SELF"];    
  119.   
  120. if(emptyempty($_SERVER["QUERY_STRING"]))    
  121.   
  122. {    
  123.   
  124. $nowurl = $scriptName;    
  125.   
  126. }    
  127.   
  128. else    
  129.   
  130. {    
  131.   
  132. $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];    
  133.   
  134. }    
  135.   
  136. }    
  137.   
  138. return $nowurl;    
  139.   
  140. }   
  141.   
  142.    
  143.   
  144. //获得当前文件名   
  145.   
  146. $nowurl=GetCurUrl();   
  147.   
  148. //echo $nowurl;   
  149.   
  150.    
  151.   
  152. //表单输出,没有提交时   
  153.   
  154. if(!isset($_POST['qq'])){   
  155.   
  156. echo '
    .$nowurl.'">   
  157.   
  158. qq号码:"text" name="qq">
       
  159.   
  160. g_tk:"text" name="g_tk">
       
  161.   
  162. 标题:"text" name="title">
       
  163.   
  164. 内容:"text" name="content">
       
  165.   
  166. "submit" value="发表文章">   
  167.   
  168. ';   
  169.   
  170. die();   
  171.   
  172. }   
  173.   
  174.    
  175.   
  176. /*  
  177.  
  178. 提交参数说明:  
  179.  
  180. $_POST['qq']---用户QQ  
  181.  
  182. $_POST['g_tk']--这个参数很关键,获得这个参数,需要抓下发表时提交的post地址后面调用的g_tk=123456789,  
  183.  
  184. 路POST http://b1.qzone.qq.com/cgi-bin/blognew/blog_add?g_tk=123456789里的g_tk=123456789  
  185.  
  186. $_POST['title']---文章标题,不得空  
  187.  
  188. $_POST['content']---文章内容,不得空  
  189.  
  190. */   
  191.   
  192.    
  193.   
  194. header('Content-Type:text/html;charset=gb2312');   
  195.   
  196. set_time_limit(0);   
  197.   
  198. //ob_end_clean();   
  199.   
  200. //ob_start();   
  201.   
  202.    
  203.   
  204. //获取cookie文件,不存在创建,并退出程序   
  205.   
  206. $cookiefile=dirname(__FILE__).'\qq_cookie.txt';   
  207.   
  208. if(!file_exists($cookiefile)){   
  209.   
  210. echo 'qq_cookie.txt不存在,自动创建,请填写抓包的cookie
    ';   
  211.   
  212. file_put_contents($cookiefile,'');   
  213.   
  214. die('程序退出');   
  215.   
  216. }   
  217.   
  218. //存在,读取cookie   
  219.   
  220. else{   
  221.   
  222. $cookie=file_get_contents($cookiefile);//登录cookie   
  223.   
  224. //$cookie=urlencode($cookie);   
  225.   
  226. }   
  227.   
  228. //echo 'cookie:'.$cookie.'
    ';   
  229.   
  230.    
  231.   
  232. //构成发表页,post数据等的重要信息   
  233.   
  234. //qq号码   
  235.   
  236. if(emptyempty($_POST['qq'])||preg_match('/[^0-9]/is',$_POST['qq']))die('qq号码有误,必须数字');   
  237.   
  238. else $qq=$_POST['qq'];//qq号   
  239.   
  240. if(emptyempty($_POST['g_tk'])||preg_match('/[^0-9]/is',$_POST['g_tk']))die('post重要参数g_tk不合法,必须数字,请使用抓包的值');   
  241.   
  242. $g_tk=$_POST['g_tk'];   
  243.   
  244.    
  245.   
  246. $title=emptyempty($_POST['title'])?die('标题不得空'):$_POST['title'];//文章标题   
  247.   
  248. $content=emptyempty($_POST['content'])?die('内容不得空'):$_POST['content'];//内容   
  249.   
  250.    
  251.   
  252. $category='个人日记';//分类   
  253.   
  254. $fabiao='http://b1.qzone.qq.com/cgi-bin/blognew/blog_add?g_tk='.$g_tk;//发表处理页   
  255.   
  256. $referer='http://ctc.qzs.qq.com/qzone/v5/toolpages/fp_gbk.html';//来源页   
  257.   
  258. $r1='http://user.qzone.qq.com/'.$qq.'/infocenter';//列表访问来源页   
  259.   
  260. $postdata='uin='.$qq.'&category='.urlencode($category).'&title='.urlencode($title).'&content='.urlencode($content).'&html='.urlencode('
    '.$content.'
    ').'&tweetflag=0&cb_autograph=1&topflag=0&needfeed=0&g_tk='.$g_tk.'&_fp_refer=http%3A%2F%2Fctc.qzs.qq.com%2Fqzone%2Fnewblog%2Fv5%2Feditor.html%3Fsource%3D1%7Chttp%3A%2F%2Fctc.qzs.qq.com%2Fqzone%2Fnewblog%2Fv5%2Feditor.html%3Fsource%3D1%3Chttp%3A%2F%2Fuser.qzone.qq.com%2F'.$qq.'%2Fmain';//post数据   
  261.   
  262. //$postdata=urlencode($postdata);   
  263.   
  264. //echo $postdata;   
  265.   
  266. //发送请求,获取源码   
  267.   
  268. $yuanma=request($fabiao,$r1,$postdata,$cookie,'');   
  269.   
  270. if(strpos($yuanma,'发表成功'))echo $title.'  发表成功
    ';   
  271.   
  272. else echo '发表失败:右键查看源码,可以看到具体错误'.$yuanma;   
  273.   
  274. ?>  

 

 

代码仅供参考,成功率有待大家的验证

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyelesaian: Organisasi anda memerlukan anda menukar PIN anda Penyelesaian: Organisasi anda memerlukan anda menukar PIN anda Oct 04, 2023 pm 05:45 PM

Mesej "Organisasi anda memerlukan anda menukar PIN anda" akan muncul pada skrin log masuk. Ini berlaku apabila had tamat tempoh PIN dicapai pada komputer menggunakan tetapan akaun berasaskan organisasi, di mana mereka mempunyai kawalan ke atas peranti peribadi. Walau bagaimanapun, jika anda menyediakan Windows menggunakan akaun peribadi, sebaiknya mesej ralat tidak akan muncul. Walaupun ini tidak selalu berlaku. Kebanyakan pengguna yang mengalami ralat melaporkan menggunakan akaun peribadi mereka. Mengapa organisasi saya meminta saya menukar PIN saya pada Windows 11? Ada kemungkinan akaun anda dikaitkan dengan organisasi dan pendekatan utama anda adalah untuk mengesahkan perkara ini. Menghubungi pentadbir domain anda boleh membantu! Selain itu, tetapan dasar tempatan yang salah konfigurasi atau kunci pendaftaran yang salah boleh menyebabkan ralat. Sekarang ni

Cara melaraskan tetapan sempadan tetingkap pada Windows 11: Tukar warna dan saiz Cara melaraskan tetapan sempadan tetingkap pada Windows 11: Tukar warna dan saiz Sep 22, 2023 am 11:37 AM

Windows 11 membawa reka bentuk yang segar dan elegan ke hadapan antara muka moden membolehkan anda memperibadikan dan menukar butiran terbaik, seperti sempadan tingkap. Dalam panduan ini, kami akan membincangkan arahan langkah demi langkah untuk membantu anda mencipta persekitaran yang mencerminkan gaya anda dalam sistem pengendalian Windows. Bagaimana untuk menukar tetapan sempadan tetingkap? Tekan + untuk membuka apl Tetapan. WindowsSaya pergi ke Pemperibadian dan klik Tetapan Warna. Perubahan Warna Tetingkap Sempadan Tetapan Tetingkap 11" Lebar="643" Tinggi="500" > Cari pilihan Tunjukkan warna aksen pada bar tajuk dan sempadan tetingkap, dan togol suis di sebelahnya. Untuk memaparkan warna aksen pada menu Mula dan bar tugas Untuk memaparkan warna tema pada menu Mula dan bar tugas, hidupkan Tunjukkan tema pada menu Mula dan bar tugas

10 Cara untuk Melaraskan Kecerahan pada Windows 11 10 Cara untuk Melaraskan Kecerahan pada Windows 11 Dec 18, 2023 pm 02:21 PM

Kecerahan skrin adalah bahagian penting dalam menggunakan peranti pengkomputeran moden, terutamanya apabila anda melihat skrin untuk jangka masa yang lama. Ia membantu anda mengurangkan ketegangan mata, meningkatkan kebolehbacaan dan melihat kandungan dengan mudah dan cekap. Walau bagaimanapun, bergantung pada tetapan anda, kadangkala sukar untuk mengurus kecerahan, terutamanya pada Windows 11 dengan perubahan UI baharu. Jika anda menghadapi masalah melaraskan kecerahan, berikut ialah semua cara untuk mengurus kecerahan pada Windows 11. Cara Menukar Kecerahan pada Windows 11 [10 Cara Diterangkan] Pengguna monitor tunggal boleh menggunakan kaedah berikut untuk melaraskan kecerahan pada Windows 11. Ini termasuk sistem desktop menggunakan monitor tunggal serta komputer riba. Jom mulakan. Kaedah 1: Gunakan Pusat Tindakan Pusat Tindakan boleh diakses

Bagaimana untuk mematikan pengesahan penyemakan imbas peribadi pada iPhone dalam Safari? Bagaimana untuk mematikan pengesahan penyemakan imbas peribadi pada iPhone dalam Safari? Nov 29, 2023 pm 11:21 PM

Dalam iOS 17, Apple memperkenalkan beberapa ciri privasi dan keselamatan baharu kepada sistem pengendalian mudah alihnya, salah satunya adalah keupayaan untuk memerlukan pengesahan dua faktor untuk tab penyemakan imbas peribadi dalam Safari. Begini cara ia berfungsi dan cara mematikannya. Pada iPhone atau iPad yang menjalankan iOS 17 atau iPadOS 17, penyemak imbas Apple kini memerlukan pengesahan Face ID/Touch ID atau kod laluan jika anda mempunyai sebarang tab Penyemakan Imbas Peribadi terbuka di Safari dan kemudian keluar dari sesi atau apl untuk mengaksesnya semula. Dalam erti kata lain, jika seseorang mendapatkan iPhone atau iPad anda semasa ia dibuka kunci, mereka masih tidak akan dapat melihat privasi anda tanpa mengetahui kod laluan anda

Skrip pengaktifan digital Win10/11 MAS versi 2.2 menyokong semula pengaktifan digital Skrip pengaktifan digital Win10/11 MAS versi 2.2 menyokong semula pengaktifan digital Oct 16, 2023 am 08:13 AM

Skrip pengaktifan terkenal versi MAS2.2 menyokong pengaktifan digital sekali lagi Kaedah ini berasal dari @asdcorp dan pengarang MAS memanggilnya HWID2. Muat turun gatherosstate.exe (bukan asal, diubah suai) daripada https://github.com/massgravel/Microsoft-Activation-Scripts, jalankannya dengan parameter dan jana GenuineTicket.xml. Mula-mula lihat kaedah asal: gatherosstate.exePfn=xxxxxxx;DownlevelGenuineState=1 dan kemudian bandingkan dengan kaedah terkini: gatheros

Di manakah kuki disimpan? Di manakah kuki disimpan? Dec 20, 2023 pm 03:07 PM

Kuki biasanya disimpan dalam folder kuki penyemak imbas antara muka pengurusan kuki yang disediakan oleh penyemak imbas anda untuk melihat dan mengurus kuki.

Di manakah kuki pada komputer anda? Di manakah kuki pada komputer anda? Dec 22, 2023 pm 03:46 PM

Kuki pada komputer anda disimpan di lokasi tertentu pada penyemak imbas anda, bergantung pada penyemak imbas dan sistem pengendalian yang digunakan: 1. Google Chrome, disimpan dalam C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies dll.

Cara Menyembunyikan dan Menyahsembunyikan Folder pada Windows 11 [3 Cara] Cara Menyembunyikan dan Menyahsembunyikan Folder pada Windows 11 [3 Cara] Sep 23, 2023 am 08:37 AM

Menyembunyikan folder ialah cara terbaik untuk memastikan desktop anda teratur. Mungkin anda ingin menyimpan fail peribadi anda atau beberapa butiran pelanggan daripada mengintip. Walau apa pun, keupayaan untuk menyimpannya dan menyorokkannya apabila perlu adalah penjimatan yang besar. Ringkasnya, fail tersembunyi ini tidak akan muncul dalam menu utama, tetapi ia masih boleh diakses. Ia sangat mudah dan tidak perlu mengambil terlalu banyak masa. Bagaimana untuk menyembunyikan folder dalam Windows 11? 1. Gunakan File Explorer dan tekan kekunci + untuk membuka File Explorer. WindowsE Cari folder yang ingin anda sembunyikan, klik kanan padanya dan pilih Properties. Navigasi ke tab Umum, tandai kotak Sembunyikan, klik Guna, dan kemudian klik OK. Dalam kotak dialog seterusnya, tandai Gunakan perubahan pada folder ini, sub-fail

See all articles