最近微信小程序挺火爆啊,之前跳一跳就有外掛,自動跳,感覺很神奇,這次玩頭腦王者,遇到很多不會的問題,想着能不能自動百度下答案,試驗成功,教程如下:
首先參照某位大神的教程配置Fiddler:http://blog.csdn.net/gysea123321/article/details/51209564
配置好之后便可以抓包手機的https了,根據抓包發現出題目的接口中包含findQuiz,於是在fiddler中設置
如圖操作以過濾其他請求,看着就清爽多了
點擊接口查看返回的數據,可以得到問題的json串,如下所示:
{"data":{"quiz":"日本最南端的首府城市是哪座?","options":["那霸","鹿兒島","長崎","熊本"],"num":5,"school":"理科","type":"地理","contributor":"Master 丁","endTime":1515833813,"curTime":1515833798},"errcode":0}
如果看到的是亂碼,請點擊黃色的那條
既然問題已經得到,下面的辦法是就是把問題json傳到百度自動搜索就好了,點擊FiddlerScript按鈕,選擇下圖所示的菜單,寫下代碼
1 if (oSession.fullUrl.Contains("question.hortor.net")) 2 { 3 //oSession.utilDecodeResponse();//消除保存的請求可能存在亂碼的情況 4 /*var fso; 5 var file; 6 fso = new ActiveXObject("Scripting.FileSystemObject"); 7 //文件保存路徑,可自定義 8 file = fso.OpenTextFile("D:\\xampp\\htdocs\\hortor\\data.json",2 ,true,true); 9 //file.writeLine("Response code: " + oSession.responseCode); 10 file.writeLine(oSession.GetResponseBodyAsString()); 11 file.writeLine("\n"); 12 file.close();*/ 13 14 //把內容通過ajax http發送其它地方 15 var _xhr = new ActiveXObject('Microsoft.XMLHTTP'); 16 var url = 'http://localhost/hortor/save.php'; 17 18 //發送的數據參數 19 var param = { 20 data: oSession.GetResponseBodyAsString() 21 }; 22 var par = ''; 23 for (var i in param) { 24 var _data = param[i]; 25 par += par ? ("&" + i + "=" + _data) : (i + "=" + _data); 26 } 27 //不需要返回值所以寫啦個空回調 28 _xhr.onreadystatechange = function() {} 29 _xhr.open('POST', url, true); 30 _xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8;"); 31 _xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); 32 _xhr.send(par); 33 }
不要問我怎么知道這么寫的,他這個代碼是jscript,經過我多方面百度谷歌結合自己瞎猜之后發現的,注釋的代碼是讓Fiddler直接寫文件到某個位置,但是測試發現只能寫入Unicode格式,程序轉碼不方便,遂使用ajax方法實現,傳出數據到一個我寫的save.php頁面,然后php保存到文件.名為data.json
得到了數據之后就是百度搜索了,觀察發現,https://www.baidu.com/s?wd=keyword,這個wd后面寫的就是想要查詢的問題,iframe嵌入網頁就好了,但是問題又來了,百度有個if (top.location != self.location) {top.location=self.location;} 的代碼,使內嵌iframe的方法失效了,萬般搜索
無奈,只得換個思路,將百度搜索鏈接放到a標簽中,模擬點擊,settimeout 500來不停地加載 data.json,當data.json變化時,將quiz的內容搜索出來,
大功告成,試驗一下,原來的我到了智者大師就是在上不去了,用了外掛,40分鍾,嘿嘿
用這個上分確實快啊,不過缺點也挺明顯的,就是題目是什么,就搜索什么,很多時候不是很准確,下一步研究研究如何語義化的搜索內容,大家要是有更好的方法,歡迎一起交流啊