開源項目助我回家–兩分鐘完成網上訂票從登入到付款

來源:互聯網
上載者:User

實在抱歉 昨天晚上說好要發源碼的 可是因為租同一個房子的主臥的女生回家過年好像把路由電源斷了 沒有上成網沒有發成。 其實提到的第一個開源項目已經基本完成準系統 只是需要一點修改 今天有時間的話 我會寫一下怎麼使用tessocr和extendedwebbrowser

 

今天遊戲新版本要上線 忙著改BUG們 快九點才從辦公室走 回家現裝的BT5蹭隔壁的無線來上網發源碼了

源碼扔到codeplex上了 http://book12306ticket.codeplex.com/

這樣在辦公室哪的也能改了  沒時間整理 有個第三方類直接扔到bin裡一起上傳了 大家自己ref一下

 

本文中提到的代碼全部來源於網上的開源項目

花了不到兩個小時拼湊而成的程式就可以實現兩分鐘從登入到付款的全部操作.

下面是本文

要解決的問題:

1登入不上去

2登入上去後提交不上訂單

3提交上訂單後付款不成功要重新登入

開始解決問題:

 

首先要有一個從登入到訂票全部流程的實現,而且要自動化的實現。從登入到訂票這個流程codeplex上的一個開源項目

TrainSearch http://myticketsearch.codeplex.com/  基本實現了 而且結合了Webbrowser空間可以在登入成功後共用一個session,實現網頁不用再次登入。

但是這個項目不夠自動化要手動輸入驗證碼

於是本人最初的修改是利用Tessocr進行驗證碼識別(利用Tessocr受到了Java的訂票開源項目的啟發 http://code.google.com/p/go-home/ )

之後發現有人利用驗證碼不重新整理的BUG(雖然早知道有這個BUG 但是沒有想到他們竟然六個月不修這個BUG) 於是修改了下代碼的邏輯之請求一次驗證碼。

這樣就解決了前兩個問題

 

最後一個問題就是付款  付款要再登入啊 什麼坑爹的邏輯啊

而且由於我們Webbrowser維持的session會因為“網上支付”那個按鈕是target="_blank" 會彈出新的IE視窗傳遞不了我們Webbrowser維持的Session

這裡就需要不彈出IE 於是用到了又一個開源項目ExtendedWebBrowser http://www.codeproject.com/KB/cpp/ExtendedWebBrowser.aspx

 

這樣Session的問題解決了 不用登入那個破網頁 直接一個程式解決了 下面程式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.