• <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++

            国产成人久久精品区一区二区| 久久精品国产亚洲av高清漫画| 精品久久久久久久无码| 久久精品亚洲AV久久久无码| 国产—久久香蕉国产线看观看| 久久精品www人人爽人人| 中文字幕热久久久久久久| 蜜桃麻豆WWW久久囤产精品| 人妻无码αv中文字幕久久琪琪布| 合区精品久久久中文字幕一区| 日本精品久久久久久久久免费| 理论片午午伦夜理片久久 | 久久久www免费人成精品| 香蕉久久影院| 一本色道久久综合亚洲精品| 久久久久亚洲Av无码专| 国产美女久久精品香蕉69| 久久精品视频网| 国产精品免费久久久久电影网| 国产亚洲成人久久| 色婷婷久久久SWAG精品| 国产一区二区久久久| 久久久久久久久久久精品尤物| 久久久久久九九99精品| 国产精品久久影院| 久久天天躁狠狠躁夜夜不卡| 亚洲欧美久久久久9999| 亚洲国产精品成人久久| 亚洲国产精品久久久久婷婷老年| 精品久久人人妻人人做精品| 国产精品中文久久久久久久| 欧美黑人又粗又大久久久| 亚洲国产精品久久久久久| 亚洲国产高清精品线久久| 久久66热人妻偷产精品9| 久久99精品九九九久久婷婷| 久久91精品国产91| 青青草原1769久久免费播放| 亚洲精品综合久久| 久久精品草草草| 色老头网站久久网|