java下載url路徑包含中文需要轉(zhuǎn)義的操作
大家看這個url:
http://127.0.0.1:9997/file/江蘇省地震應(yīng)急預(yù)案(二級).docx
應(yīng)為url路徑中有中文沒有轉(zhuǎn)義,輸入流報錯
The valid characters are defined in RFC 7230 and RFC 398
下面我們對中文路徑進(jìn)行截取轉(zhuǎn)義
int lastIndexOf = downloadUrl.lastIndexOf(’/’); String fileName = downloadUrl.substring(lastIndexOf + 1); // 轉(zhuǎn)義關(guān)鍵代碼 String newFileName = URLEncoder.encode(fileName, 'utf-8'); String subUrl = downloadUrl.substring(0,lastIndexOf + 1); String newUrl = subUrl + newFileName; URL url = new URL(newUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection();
補(bǔ)充知識:Java中URL傳遞中文字符成亂碼,及參數(shù)轉(zhuǎn)義符轉(zhuǎn)換
頁面使用此函數(shù)
function URLencode(sStr) { return escape(sStr).replace(/+/g, ’%2B’). replace(/'/g,’%22’). replace(/’/g, ’%27’). replace(///g,’%2F’); }
處理一下url 要傳的參數(shù),這樣就可以傳到后臺想要的特殊字符了
以上這篇java下載url路徑包含中文需要轉(zhuǎn)義的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python importlib動態(tài)導(dǎo)入模塊實現(xiàn)代碼2. 在Android中使用WebSocket實現(xiàn)消息通信的方法詳解3. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法4. 利用promise及參數(shù)解構(gòu)封裝ajax請求的方法5. 淺談python出錯時traceback的解讀6. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解7. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向8. Nginx+php配置文件及原理解析9. JSP數(shù)據(jù)交互實現(xiàn)過程解析10. windows服務(wù)器使用IIS時thinkphp搜索中文無效問題
