溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么解決java中的http請(qǐng)求亂碼

發(fā)布時(shí)間:2020-06-23 20:00:11 來源:億速云 閱讀:287 作者:元一 欄目:編程語言

怎么解決java中的http請(qǐng)求亂碼?針對(duì)這個(gè)問題,今天小編總結(jié)了這篇文章,希望能幫助更多想解決這個(gè)問題的朋友找到更加簡(jiǎn)單易行的辦法。

HTTP簡(jiǎn)介

HTTP又名超文本傳輸協(xié)議(HyperText Transfer Protocol)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的WWW文件都必須遵守這個(gè)標(biāo)準(zhǔn)。設(shè)計(jì)HTTP最初的目的是為了提供一種發(fā)布和接收HTML頁面的方法。1960年美國(guó)人Ted Nelson構(gòu)思了一種通過計(jì)算機(jī)處理文本信息的方法,并稱之為超文本(hypertext),這成為了HTTP超文本傳輸協(xié)議標(biāo)準(zhǔn)架構(gòu)的發(fā)展根基。Ted Nelson組織協(xié)調(diào)萬維網(wǎng)協(xié)會(huì)(World Wide Web Consortium)和互聯(lián)網(wǎng)工程工作小組(Internet Engineering Task Force )共同合作研究,最終發(fā)布了一系列的RFC,其中著名的RFC 2616定義了HTTP 1.1。

HTTP請(qǐng)求亂碼解決方案一

接著上面的代碼,用我們最常用的方式,一行一行的讀,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請(qǐng)求亂碼解決方案二

這也是最簡(jiǎn)單的方式,主要是用IOUtils工具類。

URL realUrl = new URL(url);
// 打開和URL之間的連接  
conn = (HttpURLConnection) realUrl.openConnection(); 
// 發(fā)送POST請(qǐng)求必須設(shè)置如下兩行  
conn.setRequestMethod(StringUtils.upperCase(type));// 提交模式
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Connection", "close"); 
conn.setConnectTimeout(3000);  //設(shè)置連接主機(jī)超時(shí)(單位:毫秒)  
conn.setReadTimeout(2000);     //設(shè)置從主機(jī)讀取數(shù)據(jù)超時(shí)(單位:毫秒)  

//省略一些代碼

//獲取InputStream
InputStream inStream = conn.getInputStream();
//通過IOUtils 轉(zhuǎn)化,把流轉(zhuǎn)換為字符串。
//charset為編碼格式,可選為"utf-8","gbk","gb2312"等等
String result = IOUtils.toString(inStream,charset);

關(guān)于解決java中的http請(qǐng)求亂碼的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI