最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決HttpPost+json請求---服務器中文亂碼及其他問題

 更新時間:2021年01月21日 11:29:35   作者:左正  
這篇文章主要介紹了解決HttpPost+json請求---服務器中文亂碼及其他問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

好凌亂的題目,只是一些功能點的總結咯。

首先構造一個json對象用于存放數據,如果光加上header為utf-8就能解決中文就大錯特錯了。。。

json對象可以put變量,也可以put對象。取的時候

obj.getJSONObject("people").getString("name")
HttpClient httpClient = new DefaultHttpClient(); 
String url = "***"; 
HttpPost httpPost = new HttpPost(url); 
HttpResponse response; 
httpPost.addHeader("Content-Type", "application/json;charset=utf-8");     
 
JSONObject obj = new JSONObject(); 
obj.put("action", "postHttp"); 
 
JSONObject people= new JSONObject(); 
people.put("name", "張三"); 
 
obj.put("people",people); 

接下來就是處理中文了。這么看的話好像沒啥難的哈,就是把obj在轉成StringEntity的時候限制一個格式再發(fā)給httpPost。

StringEntity se = new StringEntity( obj.toString(),"UTF-8");  
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));  
httpPost.setEntity(se); 
response = httpClient.execute(httpPost); 
int code = response.getStatusLine().getStatusCode(); 

補充:發(fā)送post時,設置了utf-8,中文還是亂碼?

我們用HttpUrlConnection或HttpClient發(fā)送了post請求,其中有中文,雖然我們兩邊都設置了utf-8,但還是亂碼?

我們在request和response端應該設置了如下 :

request.setCharacterEncoding("utf-8");
post.setHeader("Content-type", "application/json; charset=utf-8");

但是對于中文,我們還要進行url編碼和解碼

URLEncoder.encode(param); //url編碼
param= URLDecoder.decode(param); //url解碼

雖然這兩個方法已經過時,但是jdk8并沒有刪除它,我們照樣可以用。這是取簡易的方法,如果以上方法不行,我們就加上編解碼方式,不過會拋出UnsupportedEncodingException異常,要處理。

URLEncoder.encode(param,"utf-8"); //url編碼
param= URLDecoder.decode(param,"utf-8"); //url解碼

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • Java實現的日歷功能完整示例

    Java實現的日歷功能完整示例

    這篇文章主要介紹了Java實現的日歷功能,結合完整實例形式分析了Java日歷功能相關的日期時間獲取、計算、顯示等操作技巧,需要的朋友可以參考下
    2019-02-02
  • Spring實戰(zhàn)之協(xié)調作用域不同步的Bean操作示例

    Spring實戰(zhàn)之協(xié)調作用域不同步的Bean操作示例

    這篇文章主要介紹了Spring實戰(zhàn)之協(xié)調作用域不同步的Bean操作,結合實例形式分析了Spring協(xié)調作用域不同步的Bean相關配置及使用技巧,需要的朋友可以參考下
    2019-11-11
  • @Scheduled 如何讀取動態(tài)配置文件

    @Scheduled 如何讀取動態(tài)配置文件

    這篇文章主要介紹了@Scheduled 如何讀取動態(tài)配置文件的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 簡單了解Java中的可重入鎖

    簡單了解Java中的可重入鎖

    這篇文章主要介紹了簡單了解Java中的可重入鎖,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Spring?Web?MVC基礎理論概念

    Spring?Web?MVC基礎理論概念

    Spring?Web?MVC是基于Servlet?API構建的原始Web框架,從?開始就包在Spring框架中,Spring?Web?MVC是一個Web框,本文給大家介紹Spring?Web?MVC基礎理論,感興趣的朋友一起看看吧
    2024-08-08
  • Spring boot webService使用方法解析

    Spring boot webService使用方法解析

    這篇文章主要介紹了Spring boot webService使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • spring如何通過FactoryBean配置Bean

    spring如何通過FactoryBean配置Bean

    這篇文章主要介紹了spring如何通過FactoryBean配置Bean,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Spring連接Mysql數據庫全過程

    Spring連接Mysql數據庫全過程

    這篇文章主要介紹了Spring連接Mysql數據庫全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java 中的 Class.forName(類名) 使用及原理解析

    Java 中的 Class.forName(類名) 使用及原理解析

    Class.forName是Java中用于動態(tài)加載類的強大工具,廣泛應用于數據庫驅動加載、反射機制和插件系統(tǒng)等場景,它通過ClassLoader加載類并執(zhí)行靜態(tài)初始化代碼,但在使用時需要注意類路徑、初始化副作用和類加載器的選擇等問題,感興趣的朋友一起看看吧
    2024-12-12
  • Java11新特性之HttpClient小試牛刀

    Java11新特性之HttpClient小試牛刀

    本文主要研究一下Java11的HttpClient的基本使用。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論

南部县| 客服| 丰宁| 广州市| 清丰县| 湛江市| 唐河县| 阿坝县| 鄢陵县| 赣州市| 余干县| 新野县| 沧州市| 靖宇县| 平度市| 漳平市| 宣城市| 五台县| 富民县| 佳木斯市| 山阴县| 台江县| 同江市| 岚皋县| 阳朔县| 任丘市| 潢川县| 陇南市| 西平县| 攀枝花市| 家居| 竹溪县| 彭山县| 务川| 寻乌县| 杂多县| 河南省| 丹寨县| 苏尼特左旗| 通州市| 定南县|