看到網上的滾動英語——但是總會有人想要所有的資料的

來源:互聯網
上載者:User

今天看到某網頁上有類似每日英語的小功能,覺得其中的英語很應該看一看。可是那英語8秒才更新一下。我可沒有這耐心等它更新完啊。直接看他的原始碼。知道是用JavaScript在後面不斷地更新資料。查看代碼,其中有一個english.js,開啟看看。其中有一個代碼是這樣的。

 this.queryDB=function (e){

     o.url="Plugins/EnglishXML/getEnglish.asp?s="+Math.random()

          o.Open();

 }

好了,什麼都知道了。直接在瀏覽器上輸入網址,其返回結果如下所示:

        <querys>

            <English>

                <![CDATA["In Brazil,many ancient forests are very well preserves."]]>

            </English>

            <Chinese>

                <![CDATA[ 在巴西,古老的森林得到了很好的保護。]]>

            </Chinese>

        </querys>

從伺服器返回的是個純XML檔案,而且理所當然的只有1句。但是我想得到全部的!本來想找出其資料檔案的位置。可是看來看就這麼個ASP網頁,自己也沒有學過注入攻擊的手段。只能用最笨的暴力方式——刷!當然肯定不能用瀏覽器刷了。

 

下載下來還要,看起來方便才好。所以就決定寫個Client去刷。程式很簡單兩個小時也就稿定了,介面如下:

 

 

看圖應該就可以看出來,我刷了3.3萬次。刷到後來,有近5000次刷出來的東西都是之前刷到過的,就停下來了。(其實還有8條資料沒有刷到)

刷的時候,想到一個問題。設總共有n個句子,我要刷多少次,才能保證已經刷完所有句子的機率大於x%?因為理論上,無論我刷多少次都不能保證我已經刷到了所有的句子。

 

刷出來的句子被儲存成了XML檔案。看XML檔案不方便,可以用程式開啟(功能沒有實現,給XmlDataProvider設定Source屬性即可)。程式上沒有加排序、尋找之類的功能。因為根本沒有必要,所有的資料都可以從這裡下載到,是個Access資料庫……然後你想幹什麼都可以。寫這個程式只是怕最近沒有用到技術生疏了。比如XML、Encoding之類。

 

PS:程式僅供學習之用,請勿用於其它目的。直接編譯需要使用Visual Studio 2010。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.