http请求:

浏览器 --》服务器(tomcat应用服务器)---》应用

1,浏览器。

  url:浏览器默认采用UTF-8,对URL参数中非ASCII进行百分号编码(RFC3986“%编码”进行编码);

  表单(get/post)请求:采用当前页面编码,对URL参数中的非ASCII字符进行百分号编码;

  ajax:  get方式发起的请求,IE11和chrome会根据当前页面的默认编码对URL参数中的非ASCII字符进行百分号编码。而IE6不会对URL非ASCII表示的路径信息和参数信息进行编码。

     post方式发起的请求,即便设定了application/x-www-form-urlencoded头信息,浏览器也不会对数据做任何的编码(或者说浏览器不把发送的数据当做URL的一部分)。

  采用encodeURIComponent()或者encodeURI()对非ASCII字符进行编码。encodeURIComponent与encodeURI区别:

        1,encodeURI方法不会对下列字符编码  ASCII字母、数字、~!@#$&*()=:/,;?+'

2,encodeURIComponent方法不会对下列字符编码 ASCII字母、数字、~!*()
另外还可以使用escape()对字符串进行编码。
2,Tomcat服务器。

    Tomcat会使用默认字符编码“ISO-8859-1”对URL参数进行解码。可以通过server.xml文件修改字符集编码:

  <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

3,应用

  可以通过使用java.net.URLDecoder与java.net.URLEncoder、或者指定字符集编码重新构造String对象。

一种保守的处理方法:对URL参数进行Base64编码、解码。

前端

$.ajax({url: "${ctx}/****?key="+encodeURIComponent(new Base64().encode(id)),type: 'GET',dataType: 'json'}).done(function (data) {if (data.success) {$this.attr("href",data.code);}});

后台

key = new String(Base64.decodeBase64(key));

  

  

转载于:https://www.cnblogs.com/hf-china/p/9040899.html

Http请求url参数字符集相关推荐

  1. python get请求 url传参_requests的get请求url参数、url重定向处理及cookies

    需求:在百度搜索www.python66.com,然后将搜索结果保存到文件bd_python66.html 百度搜索的url:https://www.baidu.com/s?wd=搜索词 params ...

  2. python get请求 url传参_用Python-get方法向页面发起请求,参数传不进去是怎么回事...

    源自:4-1 接口测试工具-python-get接口实战 用Python-get方法向页面发起请求,参数传不进去是怎么回事 #-*-coding:utf-8-*- import urllib impo ...

  3. openresty获取nginx请求url中的所有参数

    获取请求url中的所有参数:vi test.lua b传两个值:

  4. java servlet获取url参数_Java Servlet如何获取请求的参数值?

    ## Servlet如何获取请求的参数 ## > 使用Request常用API来获取参数 > 这里演示的表单的提交 > 用到的是`getParameter()`和`getParame ...

  5. 利用JS面向对象+模块化封装集AJAX请求、基本数据校验、URL参数截取等功能于一身的通用工具模块

    以下为封装好的工具类代码,使用方法将在后边介绍. /*** Created by xiaoqiang on 2017/11/09.*/ 'use strict'; import $ from 'jqu ...

  6. android url拼接参数,【Tech-Android-Other】高效拼接一个GET请求URL

    高效拼接一个GET请求URL private String getUrl(HashMap params) { String url = Constants.URL_CS_DATA; // 添加url参 ...

  7. jq操作url请求的参数

    jq获取url请求的参数 获取url里的请求参数 function GetRequest() {var url = location.search; //获取url中"?"符后的字 ...

  8. java get请求 数组_GET方式请求的url参数如果是数组,该形式/base/get?foo[]=barfoo[]=baz'报错......

    GET 方式请求的url参数如果是数组的话,url为什么要转成这种形式: /base/get?foo[]=bar&foo[]=baz' 而不是这种形式呢? /base/get?foo=bar& ...

  9. URL请求加密 参数的sign签名 与验签

    如何保证 请求的安全 url参数防篡改 sign 防重放 来源(身份)是否合法 签名设计方案 设计 客户端规则 给不同客户端 如(app)分配对应的 商户 key, secret 用来确认请求来自 哪 ...

最新文章

  1. 第二项目AIaisell(易销宝)
  2. alias--linux
  3. SAP UI5 XML 视图里 label 和 text 控件文本对齐问题
  4. linux交叉编译无法识别gcc编译器
  5. lambda 加和_流畅和稳定的API的Lambda
  6. 【C++深度剖析教程1】C++中的经典问题解析-c++中的对象的构造顺序与析构顺序
  7. 《软件项目管理(第二版)》第 3 章——项目计划 重点部分总结
  8. CMake下载及安装
  9. 下一版本的Android OS ——Jelly Bean
  10. HTML5画布(矩形)
  11. IntelliJ IDEA 2020.1 首个稳定版重磅发布!
  12. 201521123076《java程序设计》第12周学习总结
  13. 中望3d快捷键命令大全_CAD常用快捷键命令大全:335个cad快捷键
  14. 2022美团校招技术岗笔试全部AC_Code分享
  15. 7-4 走迷宫II(Dijkstra 算法)
  16. Let's Encrypt 客户端将由EFF管理
  17. 关于湖北美术学院花坛长出娃娃
  18. Python 爬抖音
  19. OpenAI:ChatGPT 自动写代码功能测试
  20. 蓝牙单火开关(天猫精灵生态)方案

热门文章

  1. Jenkins+Maven+SVN快速搭建持续集成环境
  2. Java虚拟机详解----JVM常见问题总结
  3. 什么是Code Review 代码审查
  4. [原译]11个高效的VS调试技巧
  5. Steve Lin:如何撰写一篇优秀的SIGGRAPH论文
  6. java学习笔记4--对象的初始化与回收
  7. ubuntu 14.04安装chrome浏览器
  8. Stanford UFLDL教程 池化Pooling
  9. 设计师学习HTML/CSS之路-13
  10. 教你从零开始使用wordpress做为后台生成小程序(小白版教程)