最近接觸python操作網頁,甚是方便。很多網站為了粘貼用戶,要求每天簽到送積分,而我們這么忙哪有空去干這個呀,python可以自動幫我們做這個事情。
實驗網站:www.shuobar.com,這是一個提供免費電話的網站,以前在任何時候打電話都免費的,但是現在只能在中午12點之前免費,其他時間打電話要積分,每天簽到可以送一些積分
實驗方法:windows下pyhton編程
1、用戶的登錄。www.shuobar.com采用QQ授權登錄,不提供帳號密碼的登錄方式,這給自動簽到帶來一些不便,首先研究一下QQ授權登錄的原理。
用火狐或者google瀏覽器打開www.shuobar.cn首頁,提示要求用QQ一鍵登錄,打開火狐或者goolge瀏覽器自帶的調試工具,其實就是右擊網頁,選擇“查看元素”即可。
點擊QQ一鍵登錄按鈕,將會到了QQ授權的頁面,我沒有了解過QQ授權的原理,但是通過多次測試,www.shuobar.cn的授權頁面的URL一直是
http://openapi.qzone.qq.com/oauth/show?which=Login&display=pc&response_type=code&client_id=100478975&redirect_uri=http%3A%2F%2Fwww.shuobar.cn%2Fuser%2Fqqlogincallback.html&scope=get_user_info
所以,我猜測只要向這個頁面POST一些東西就行了,那么現在測試一下需要POST什么。
2、POST數據的分析
利用瀏覽器自帶的調試工具可以看到授權時到底POST了什么東西,在點擊授權的同時觀察頁面POST的數據如下面所示
response_type:code
client_id:100478975
redirect_uri:http://www.shuobar.cn/user/qqlogincallback.html
scope:get_user_info
state:
src:1
update_auth:0
openapi:#
g_tk:1420953836
auth_time:1425356396524
ui:E2E88641-4784-46A5-96E1-95A0BD67AF80
client_id想必就是www.shuobar.cn這個網站的ID了,這個不會變的,g_tk不知道是個什么東西,但是貌似也不會變,只有auth_time和ui會變,我們只要找到這兩個東西,把它POST上去就行了。
auth_time很明顯就是現在的時間嘛,這個利用python可以很容易得到,那么ui到底是什么東西呢?