zoukankan      html  css  js  c++  java
  • 不同浏览器在地址栏中直接输入中文参数的结果

    IE8:(至少在WinXP SP3上)会对直接输入的url进行GBK编码
    Chrome:UTF-8编码
    Firefox:UTF-8编码


    需求:在服务器后台打印出每个URL参数及其值,并回送到浏览器。


    代码:

    需要注意IE8(真NMD风骚 -_-#)

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      response.setContentType("text/html;charset=utf-8");
      PrintWriter out = response.getWriter(); 
    
      String query =request.getQueryString();
      if(query == null || query.isEmpty()){
        return;
      }
    
      if(!isIE8(request.getHeader("User-Agent"))){
        query = URLDecoder.decode(query, "utf-8");
      }else{
        //IE8的编码真尼玛的一个骚货!!!FUCK OFF
        query = new String(query.getBytes("iso-8859-1"), "gbk");
        query = URLDecoder.decode(query, "gbk"); 
        System.out.println(query);
      }
    
      String params[] = query.split("&"); 
      for(String s : params){
        System.out.println(s);
        out.println(s+"<br/>");
      }
    }
    ​
    ​
    private boolean isIE8(String userAgent){
      if(userAgent==null || userAgent.isEmpty()){
        return false;
      }
    
      if(userAgent.contains("Trident/4.0")){
        return true;
      }
    
      return false;
    }

  • 相关阅读:
    pwnable
    pwnable
    pwnable
    uva 11971
    uva 11582
    【数据结构】关于递归的几个例子
    【数据结构】快速排序
    【Python】range 倒序
    【数据结构】静态链表的实现(C语言描述)
    【数据结构】KMP 算法
  • 原文地址:https://www.cnblogs.com/itfky/p/13728962.html
Copyright © 2011-2022 走看看