Http请求url参数字符集
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字母、数字、~!@#$&*()=:/,;?+'
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参数字符集相关推荐
- python get请求 url传参_requests的get请求url参数、url重定向处理及cookies
需求:在百度搜索www.python66.com,然后将搜索结果保存到文件bd_python66.html 百度搜索的url:https://www.baidu.com/s?wd=搜索词 params ...
- python get请求 url传参_用Python-get方法向页面发起请求,参数传不进去是怎么回事...
源自:4-1 接口测试工具-python-get接口实战 用Python-get方法向页面发起请求,参数传不进去是怎么回事 #-*-coding:utf-8-*- import urllib impo ...
- openresty获取nginx请求url中的所有参数
获取请求url中的所有参数:vi test.lua b传两个值:
- java servlet获取url参数_Java Servlet如何获取请求的参数值?
## Servlet如何获取请求的参数 ## > 使用Request常用API来获取参数 > 这里演示的表单的提交 > 用到的是`getParameter()`和`getParame ...
- 利用JS面向对象+模块化封装集AJAX请求、基本数据校验、URL参数截取等功能于一身的通用工具模块
以下为封装好的工具类代码,使用方法将在后边介绍. /*** Created by xiaoqiang on 2017/11/09.*/ 'use strict'; import $ from 'jqu ...
- android url拼接参数,【Tech-Android-Other】高效拼接一个GET请求URL
高效拼接一个GET请求URL private String getUrl(HashMap params) { String url = Constants.URL_CS_DATA; // 添加url参 ...
- jq操作url请求的参数
jq获取url请求的参数 获取url里的请求参数 function GetRequest() {var url = location.search; //获取url中"?"符后的字 ...
- java get请求 数组_GET方式请求的url参数如果是数组,该形式/base/get?foo[]=barfoo[]=baz'报错......
GET 方式请求的url参数如果是数组的话,url为什么要转成这种形式: /base/get?foo[]=bar&foo[]=baz' 而不是这种形式呢? /base/get?foo=bar& ...
- URL请求加密 参数的sign签名 与验签
如何保证 请求的安全 url参数防篡改 sign 防重放 来源(身份)是否合法 签名设计方案 设计 客户端规则 给不同客户端 如(app)分配对应的 商户 key, secret 用来确认请求来自 哪 ...
最新文章
- 第二项目AIaisell(易销宝)
- alias--linux
- SAP UI5 XML 视图里 label 和 text 控件文本对齐问题
- linux交叉编译无法识别gcc编译器
- lambda 加和_流畅和稳定的API的Lambda
- 【C++深度剖析教程1】C++中的经典问题解析-c++中的对象的构造顺序与析构顺序
- 《软件项目管理(第二版)》第 3 章——项目计划 重点部分总结
- CMake下载及安装
- 下一版本的Android OS ——Jelly Bean
- HTML5画布(矩形)
- IntelliJ IDEA 2020.1 首个稳定版重磅发布!
- 201521123076《java程序设计》第12周学习总结
- 中望3d快捷键命令大全_CAD常用快捷键命令大全:335个cad快捷键
- 2022美团校招技术岗笔试全部AC_Code分享
- 7-4 走迷宫II(Dijkstra 算法)
- Let's Encrypt 客户端将由EFF管理
- 关于湖北美术学院花坛长出娃娃
- Python 爬抖音
- OpenAI:ChatGPT 自动写代码功能测试
- 蓝牙单火开关(天猫精灵生态)方案