java http请求 乱码_怎么解决java中的http请求乱码
怎么解決java中的http請求亂碼
發布時間:2020-06-23 20:00:11
來源:億速云
閱讀:90
作者:元一
怎么解決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請求亂碼的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
總結
以上是生活随笔為你收集整理的java http请求 乱码_怎么解决java中的http请求乱码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flask jinja2 mysql_f
- 下一篇: java中什么泛型_【原创】java中的