去年快到春節的時候沒什么事,計划做這個訂票助手,期間由於各種各樣的事情最終到春節的時候沒有完成。前幾天有同事訂五一票,遂又想了起來。雖然代碼比較亂,也沒有任何設計支出,但我信奉一句話:再丑陋的實現也比優雅的半途而廢強的多。
這么一個小工具想想是挺簡單一個東西,但開發過程中還是遇到了一些問題,比如偉大的12306晚上11點維護,我也只好歇菜,再比如偉大的12306時不時的做一次詭異莫測的調整,又比如偉大的12306對Request參數順序的神奇依賴等等等等。有時候真恨不得XX了這偉大的12306 。
另外由於精力有限,軟件幾乎沒做過正式的測試。如果在您的機器中跑的過程中出現各種異常,請不要驚訝,進而回到帖子里來回復一堆生猛的詞語。鄙人先謝過了。
不要問我我做的這個東西和其他的訂票工具有什么不同,或者這個東西有什么功能上的亮點。。。這個真沒有。。。純粹是沒事干玩的。
淡扯完了,說點正題的。話說再簡單的程序做的時候也有個思路,而且我一直固執的認為,這個解決問題的思路甚至比優雅的實現來的更重要。這個小工具的想法很簡單,模擬發送Request請求到12306服務端,獲取12306的Responses,再從應答信息中獲取需要的信息,實現一步一步模擬瀏覽器交互。完了,就這么簡單。
最后做一個嚴肅的聲明:這個工具只是用來交流學習的,現在還不要指望它能給你在訂票高峰期的時候搶到那珍貴的火車票。如果真的搶到那是你人品好,搶不到的話就是。。。
程序下載:Ticketer
源碼下載:Tickter