• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            wininet 和“錕斤拷”

            轉(zhuǎn)載自:http://www.superfection.com/blog/?p=43

            魔爪的作者Djunny曾經(jīng)說過,下載的主要問題是要熟悉各個(gè)網(wǎng)絡(luò)的不同特點(diǎn)(比中文確切的英文單詞應(yīng)該是whimsicalness)。這點(diǎn)我現(xiàn)在是深有體會。比如大部分網(wǎng)站的url是基于utf8的,但是有些卻是基于GB2312的,這些網(wǎng)站wininet可能不能正確處理。

            其實(shí)ie是能正確處理的,但是微軟卻沒有把相應(yīng)的功能放到wininet里面,這目的只有一個(gè),微軟想使得ie的功能比wininet多一點(diǎn),也就是故意要讓程序員麻煩一些。何苦?你讓人家難受,人家自然要找你的漏洞。

            為何不放棄wininet而用liburl之類的程序,畢竟后者若干年的開發(fā),久經(jīng)考驗(yàn)。原因:做個(gè)簡單的工具雖然可以用libcurl,但是發(fā)布uread這樣的應(yīng)用就不好,要至少多一個(gè)dll,麻煩。

            好,下面談?wù)?#8220;錕斤拷”的問題。其實(shí)這個(gè)問題已經(jīng)有人談過,參見 http://hooopo.javaeye.com/blog/352451. 但是這里是由wininet引起的。采用簡單的wininet調(diào)用,訪問:

            http://www.sjtxt.com/soft/download.asp?softid=21519&downid=2&id=21525

            你會發(fā)現(xiàn)重定向到一個(gè)網(wǎng)址:

            http://down1.sjtxt.com/2010-2/錕斤拷士錕斤拷陸.rar

            為什么這里顯示“錕斤拷”,就是wininet沒有正確地解碼,把這個(gè)網(wǎng)站返回的gb碼當(dāng)成utf8, 先轉(zhuǎn)為utf16,然后又轉(zhuǎn)成utf8,最后按照gb顯示出來就變成了“錕斤拷”了(實(shí)際的轉(zhuǎn)向地址為http://down1.sjtxt.com/2010-2/斗士大陸.rar,感興趣的可以把這個(gè)“錕斤拷”如何出來的詳細(xì)推演一下)。

            處理這個(gè)問題的辦法是不要讓wininet進(jìn)行自動重定向(301 302之類),自己進(jìn)行處理。這下更麻煩了,本來用wininet就是為了省事,沒想到卻要多寫若干代碼。

            還有一個(gè)可笑的事情是,wininet的ansi版本和unicode版本不同,后者自動地把url的path部分當(dāng)成utf8處理,而前者不會。我有些工具是用delphi7寫的,有些是用delphi 2010寫的,對某些網(wǎng)站,后者則要調(diào)用以下這樣的函數(shù)

            InternetSetOption(hSession, 100{INTERNET_OPTION_CODEPAGE_PATH}, @CP_CHINA, sizeof(CP_CHINA));

            其中最新的常量,Delphi中還沒有定義(CP_CHINA = 936)。

            這些問題的解決,只是把工具做的好一些。實(shí)際上沒有什么意義,都是微軟沒有把事情做好。你做好點(diǎn),大家就可以做些有意義的事情是不?

             

            posted on 2012-02-19 23:07 楊粼波 閱讀(5081) 評論(0)  編輯 收藏 引用 所屬分類: 文章收藏網(wǎng)絡(luò)編程C++

            伊人色综合久久天天网| 久久99精品久久久大学生| 久久精品国产色蜜蜜麻豆| 久久久久se色偷偷亚洲精品av| 亚洲性久久久影院| 久久影院综合精品| 久久伊人精品青青草原高清| 久久亚洲精品无码播放| 99久久无码一区人妻| 国产精品无码久久四虎| 欧美亚洲国产精品久久| 99久久无码一区人妻a黑| 精品久久久久久久久久久久久久久| 亚洲国产视频久久| 久久久久久狠狠丁香| 久久人与动人物a级毛片| 2020最新久久久视精品爱| 久久这里有精品| 国产 亚洲 欧美 另类 久久| 久久久久亚洲av综合波多野结衣| 99久久免费国产精品热| 国产精品99久久久精品无码| 国产精品成人99久久久久| 一本色道久久综合亚洲精品| 久久影视综合亚洲| 精品久久综合1区2区3区激情| 午夜天堂精品久久久久| 国产精品久久婷婷六月丁香| 伊人色综合久久天天| 久久99热只有频精品8| 久久婷婷五月综合国产尤物app| 国产亚州精品女人久久久久久 | 国产成人精品久久| 亚洲va久久久噜噜噜久久| 日韩欧美亚洲综合久久影院Ds | jizzjizz国产精品久久| 成人午夜精品无码区久久| 亚洲综合久久久| 亚洲国产成人乱码精品女人久久久不卡 | 国产香蕉97碰碰久久人人| 国产精品美女久久久|