日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java 技术篇 - ServerSocket接收http的url请求中包含中文的处理方法,URLDecode与URLEncode,url解码与编码

發布時間:2025/4/16 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 技术篇 - ServerSocket接收http的url请求中包含中文的处理方法,URLDecode与URLEncode,url解码与编码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

效果圖:
正常接收到中文的請求是這個樣子的:%E6%AC%A2%E8%BF%8E%E6%9D%A5%E5%88%B0%E5%B0%8F%E8%93%9D%E6%9E%A3%E7%9A%84%E5%8D%9A%E5%AE%A2%EF%BC%81
通過解碼方法:
String url_new = java.net.URLDecoder.decode(url, "UTF-8");
解碼后恢復為中文:
歡迎來到小藍棗的博客!

測試這個請求:

測試代碼如下:
如果需要編碼的話可以使用:
String url_new = java.net.URLEncoder.encode(url, "UTF-8");

import java.io.*; import java.net.ServerSocket; import java.net.Socket;public class SocketTest {public static void main(String[] args) throws IOException {/*作用:接收瀏覽器的請求并響應*/// 創建服務,端口設置為10010ServerSocket server = new ServerSocket(10010);while(true) {// 阻塞式連接,當接收請求前保持阻塞Socket socket_client = server.accept();// 獲取輸入流InputStream in_put = socket_client.getInputStream();// 制作響應報文StringBuffer response = new StringBuffer();// 讀取請求內容BufferedReader input = new BufferedReader(new InputStreamReader(in_put,"GBK"));String url = input.readLine();if(url != null) {String url_new = java.net.URLDecoder.decode(url, "UTF-8");System.out.println("URLDecoder 解碼前:\n" + url);System.out.println("\nURLDecoder 解碼后:\n" + url_new);}// 響應頭部String response_head = "HTTP/1.1 200 OK\r\n" +"Content-type:text/html\r\n\r\n";// 響應主體String response_body = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">" + // 解決亂碼問題"<link rel=\"shortcut icon\" href=\"https://g.csdnimg.cn/static/logo/favicon32.ico\" type=\"image/x-icon\" />" + // 解決二次請求"<style>body{font-family:\"黑體\"}</style>" +"歡迎來到小藍棗的博客<br>" +"Welcome to xiaolanzao's blog!";response.append(response_head + response_body);// 獲取輸出流OutputStream out_put = socket_client.getOutputStream();// 將響應數據傳給輸出流out_put.write(response.toString().getBytes());// 關閉創建的對象out_put.close();in_put.close();socket_client.close();}} }

喜歡的點個贊?吧!

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Java 技术篇 - ServerSocket接收http的url请求中包含中文的处理方法,URLDecode与URLEncode,url解码与编码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。