您好,登錄后才能下訂單哦!
怎么解決java中的http請求亂碼?針對這個問題,今天小編總結了這篇文章,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。
HTTP簡介
HTTP又名超文本傳輸協議(HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。1960年美國人Ted Nelson構思了一種通過計算機處理文本信息的方法,并稱之為超文本(hypertext),這成為了HTTP超文本傳輸協議標準架構的發展根基。Ted Nelson組織協調萬維網協會(World Wide Web Consortium)和互聯網工程工作小組(Internet Engineering Task Force )共同合作研究,最終發布了一系列的RFC,其中著名的RFC 2616定義了HTTP 1.1。
HTTP請求亂碼解決方案一
接著上面的代碼,用我們最常用的方式,一行一行的讀,charset 同上面一樣。
StringBuffer sb = new StringBuffer(""); in = new BufferedReader(new InputStreamReader(inStream, charset)); String line = ""; while ((line = in.readLine()) != null){ sb.append(line); } result = sb.toString();
HTTP請求亂碼解決方案二
這也是最簡單的方式,主要是用IOUtils
工具類。
URL realUrl = new URL(url); // 打開和URL之間的連接 conn = (HttpURLConnection) realUrl.openConnection(); // 發送POST請求必須設置如下兩行 conn.setRequestMethod(StringUtils.upperCase(type));// 提交模式 conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.setRequestProperty("Connection", "close"); conn.setConnectTimeout(3000); //設置連接主機超時(單位:毫秒) conn.setReadTimeout(2000); //設置從主機讀取數據超時(單位:毫秒) //省略一些代碼 //獲取InputStream InputStream inStream = conn.getInputStream(); //通過IOUtils 轉化,把流轉換為字符串。 //charset為編碼格式,可選為"utf-8","gbk","gb2312"等等 String result = IOUtils.toString(inStream,charset);
關于解決java中的http請求亂碼的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。