隨筆-84  評論-56  文章-0  trackbacks-0

          在用到HttpClient的基本請求和響應(yīng)時(shí)候,發(fā)現(xiàn)默認(rèn)的編碼是“ISO-8859-1”,這樣就存在中文亂碼問題了,解決辦法如下,記錄一下:

          http://hc.apache.org/httpclient-3.x/charencodings.html#Request_Response_Body

          三種形式:
          postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
                  postMethod.addRequestHeader(
          "Content-Type","text/html;charset=UTF-8");
                  postMethod.setRequestHeader(
          "Content-Type""text/html;charset=UTF-8");
          posted on 2009-01-22 00:55 憶風(fēng) 閱讀(44371) 評論(9)  編輯  收藏 所屬分類: Java EE

          評論:
          # re: HttpClient POST的中文編碼問題 2009-06-05 17:35 | okhaoba
          我的方法:

          HttpClient client = new HttpClient();
          //設(shè)置超時(shí)時(shí)間
          client.getHttpConnectionManager().getParams().setSoTimeout(timeOut);
          //使用post方式,參數(shù)長度不受限制
          //postMethod = new PostMethod(url);
          postMethod = new UTF8PostMethod(url);
          //設(shè)置參數(shù)
          NameValuePair[] nameValue = new NameValuePair[] { new NameValuePair("××param", xmlParamStr) };
          postMethod.setRequestBody(nameValue);
          //發(fā)送請求
          state = client.executeMethod(postMethod);


          private static class UTF8PostMethod extends PostMethod {
          public UTF8PostMethod(String url) {
          super(url);
          }

          @Override
          public String getRequestCharSet() {
          //return super.getRequestCharSet();
          return "UTF-8";
          }
          }  回復(fù)  更多評論
            
          # re: HttpClient POST的中文編碼問題 2009-08-04 17:27 | dyj
          很不錯(cuò)!   回復(fù)  更多評論
            
          # re: HttpClient POST的中文編碼問題 2009-08-05 11:53 | fangwei
          多謝  回復(fù)  更多評論
            
          # re: HttpClient POST的中文編碼問題 2013-02-20 14:03 | 網(wǎng)絡(luò)記事本
          樓主好,我把這行添加上好使:
          method.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");

          下面的二個(gè) RequestHeader 試了不行。  回復(fù)  更多評論
            
          # re: HttpClient POST的中文編碼問題 2013-03-12 14:17 | 有亂碼
          亂碼  回復(fù)  更多評論
            
          # re: HttpClient POST的中文編碼問題 2014-05-05 18:29 | zuidaima
          參考代碼:java apache commons HttpClient發(fā)送get和post請求的學(xué)習(xí)整理,下載地址:http://www.zuidaima.com/share/1754065983409152.htm  回復(fù)  更多評論
            
          # re: HttpClient POST的中文編碼問題 2015-01-15 20:53 | sd
          # re: HttpClient POST的中文編碼問題 2015-06-12 20:57 | 阿斯蒂芬
          對方是個(gè)玩  回復(fù)  更多評論
            
          # re: HttpClient POST的中文編碼問題[未登錄] 2016-01-08 15:02 | hp
          RequestEntity requestEntity = new StringRequestEntity(paramStr, "text/html", "UTF-8");
          post.setRequestEntity(requestEntity);

          這個(gè)似乎才有效  回復(fù)  更多評論
            
          主站蜘蛛池模板: 台安县| 鄂伦春自治旗| 武安市| 邵东县| 宁安市| 沿河| 扬中市| 石首市| 龙山县| 嘉鱼县| 三门县| 建阳市| 阿拉善盟| 津南区| 丹棱县| 舒兰市| 瓮安县| 绥中县| 锦州市| 堆龙德庆县| 通山县| 紫云| 南雄市| 大洼县| 咸丰县| 平乡县| 常州市| 屏山县| 宕昌县| 温泉县| 卢湾区| 来宾市| 正宁县| 玛沁县| 浑源县| 牟定县| 定日县| 通城县| 罗山县| 乐清市| 岫岩|