<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    nighty

    折騰的年華
    posts - 37, comments - 143, trackbacks - 0, articles - 0
        最近一個(gè)程序出了點(diǎn)問題,對(duì)于中文參數(shù)的GET請(qǐng)求,服務(wù)器無法解析出正確的參數(shù)。剛好服務(wù)器的那端是另一個(gè)項(xiàng)目組負(fù)責(zé),是異構(gòu)系統(tǒng),當(dāng)初測(cè)試的時(shí)候也是走流程化,涉及到很多工作上的協(xié)調(diào)就比較麻煩,測(cè)試也不充分,像趕鴨子上架一樣就上線了,催說是項(xiàng)目緊急。當(dāng)然這是話外,不多廢話。
        httpClient的GetMethod類加入?yún)?shù)的方法是如下:
    void setQueryString(NameValuePair[] params)
              Sets the query string of this HTTP method.
     void setQueryString(String queryString)
       跟蹤一下httpClient的GetMethod的源代碼,繼承自HttpMethodBase,源碼如下:
      
    public void setQueryString(String queryString) {
       
    this.queryString = queryString;
    }

        
    public void setQueryString(NameValuePair[] params) {
       LOG.trace(
    "enter HttpMethodBase.setQueryString(NameValuePair[])");
       queryString 
    = EncodingUtil.formUrlEncode(params, "UTF-8");
    }
       EncodingUtil是httpClient定義的一個(gè)編碼工具類,由于默認(rèn)設(shè)置的是UTF-8,所以對(duì)于一些系統(tǒng)可能就無法識(shí)別。可以在外部這樣更改:
    method.setQueryString(EncodingUtil.formUrlEncode(pair, "GB2312"));另外,注意請(qǐng)求頭也要修改為對(duì)應(yīng)的一致編碼方式,method.addRequestHeader("Content-type" , "text/html; charset=GB2312");如果這二個(gè)編碼不一致,就會(huì)引起亂碼。
       剛開始的時(shí)候嘗試過都使用一致的UTF-8,但是發(fā)現(xiàn)還是亂碼,這應(yīng)該是服務(wù)器的原因。IE默認(rèn)的就是采用操作系統(tǒng)Windows的中文編碼去進(jìn)行Encoder的,服務(wù)器原先基本上都為IE服務(wù)的,所以改為GB2312就能正常識(shí)別得到。
       另外,上面提到的EncodingUtil這個(gè)工具是從apache的另一個(gè)組件codec包裝而來的,而非SUN的URLEncoder。有興趣的可以研讀一下源代碼。

    剛進(jìn)場(chǎng)的時(shí)候戲就落幕

    Feedback

    # re: httpClient3.1中文參數(shù)GET請(qǐng)求的解決方法  回復(fù)  更多評(píng)論   

    2008-07-16 14:21 by po
    ms你的httpclient有些老。。我看到的是可以指定編碼的httpclient

    # re: httpClient3.1中文參數(shù)GET請(qǐng)求的解決方法[未登錄]  回復(fù)  更多評(píng)論   

    2009-06-07 23:59 by wangyazhen
    寫的 ,謝謝這位大哥,想問下你怎么會(huì)找到EncodingUtil這個(gè)類呢?很感興趣!
    主站蜘蛛池模板: 亚洲免费观看网站| 亚洲一区二区三区夜色| 国产精品手机在线亚洲| 青草草在线视频永久免费| 亚洲真人无码永久在线观看| 成熟女人牲交片免费观看视频| 亚洲一区二区三区在线观看网站| 无人影院手机版在线观看免费| 亚洲 欧洲 自拍 另类 校园| 日韩一区二区免费视频| 免费激情网站国产高清第一页 | 成人午夜18免费看| 亚洲av最新在线观看网址| 四虎影视永久免费观看网址| 一区二区视频免费观看| 国产亚洲无线码一区二区| 99国产精品免费视频观看| 亚洲伊人久久大香线蕉在观| 日韩午夜免费视频| 久久久久国色AV免费观看| 久久久无码精品亚洲日韩按摩 | 日韩免费一区二区三区在线| 亚洲色少妇熟女11p| www.亚洲一区| 久久这里只精品国产免费10 | 国产精品国产亚洲区艳妇糸列短篇 | 亚洲区小说区图片区QVOD| 亚洲视频在线免费播放| 亚洲AV无码一区二区乱子仑| 亚洲中文字幕无码爆乳av中文| 一区二区三区在线免费看| 亚洲乱妇老熟女爽到高潮的片| 亚洲人成在线播放网站| 手机看黄av免费网址| 国产99精品一区二区三区免费| 久久精品国产亚洲AV麻豆网站| 日本xxwwxxww在线视频免费| 久久久久久免费一区二区三区| 久久亚洲精品国产精品婷婷| 亚洲天堂在线视频| 影音先锋在线免费观看|