url转码 java_javaurlencode转码

url转码 java_javaurlencode转码什么是URL转码不管是以何种方式传递url时,如果要传递的url中包含特殊字符,如想要传递一个+,但是这个+会被url会被编码成空格,想要传递&,被url处理成分隔符。尤其是当传递的url是经过Base64加密或者RSA加密后的,存在特殊字符时,这里的特殊字符一旦被url处理,就不是原先你加密的结果了。url特殊符号及对应的编码: 符号 url中的含义 编码 + URL中+号表示..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

什么是URL转码

 

不管是以何种方式传递url时,如果要传递的url中包含特殊字符,如想要传递一个+,但是这个+会被url会被编码成空格,想要传递&,被url处理成分隔符。

尤其是当传递的url是经过Base64加密或者RSA加密后的,存在特殊字符时,这里的特殊字符一旦被url处理,就不是原先你加密的结果了。

url特殊符号及对应的编码:

 

符号

url中的含义

编码

+

URL 中+号表示空格

%2B

空格

URL中的空格可以用+号或者编码

%20

/

分隔目录和子目录

%2F

?

 

 

 

 

 

 

 

 

分隔实际的URL和参数

%3F

%

指定特殊字符

%25

#

表示书签

%23

&

URL中指定的参数间的分隔符

%26

=

URL中指定参数的值

%3D

 

 

 

URLEncode和URLDecode

接受参数案例tranIndex

 

@RestController

public class TranController {

 

      // 接受客户端参数

      @RequestMapping(“/tranIndex”)

      public String tranIndex(String name) {

            System.out.println(“name:” + name);

            return name;

      }

}

 

 

客户端访问结果

url转码 java_javaurlencode转码

 

传入+参数变为了空格。

 

解决办法:将+变为%2B

url转码 java_javaurlencode转码

 

 

Java代码处理转码

URLEncoder.encode和decode

 

            String encode = URLEncoder.encode(“1+1”, “UTF-8”);

            String decode = URLDecoder.decode(encode, “UTF-8”);

            System.out.println(“encode:” + encode + “,decode:” + decode);

 

Http接口参数编码处理

 

          String url = “http://127.0.0.1:8080/tranIndex?”;

          // 参数转码

          String strParam = “name=” + URLEncoder.encode(“1+1”, “utf-8”);

          String newUrl = url + strParam;

          String result = HttpClientUtils.httpGet(newUrl);

          System.out.println(“result:” + result);

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219059.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常量字符串过长的解决办法_编译异常和运行异常有哪些

    常量字符串过长的解决办法_编译异常和运行异常有哪些如果使用String str = “这是一个很长很长很长 你需要的字符串。”; 出现异常不能正常编译运行时,可以使用下方:StringBuilder sb = new StringBuilder();sb.append(“这是一个很长很长”);sb.append(“很长 你需要的字符串”);字符串太长或字符串其他情况下可使用 : StringBuilder sb = new StringBuilder()…

    2022年8月19日
    10
  • MySQL数据类型选择「建议收藏」

    MySQL数据类型选择「建议收藏」前言在MySQL中,选择正确的数据类型,对于性能至关重要。一般应从以下两个方面考量:确定合适的大类型:数值、字符串、时间、二进制;确定具体的类型:有无符号、取值范围、变长定长等。在MySQL数据类型设置方面,尽量采用更小的数据类型,因为它们占用的存储空间更小,通常有更好的性能,花费更少的硬件资源。并且,尽量把字段定义为NOTNULL,避免使用NULL。1.字符串类型类型大小用途CHAR0-255字节定长字符串,char(n)当插入的字符串实际长度不足n时,插

    2026年1月29日
    6
  • 让AllocateHwnd接受一般函数地址作参数

    让AllocateHwnd接受一般函数地址作参数http://www.xuebuyuan.com/1889769.htmlClasses单元的AllocateHWnd函数是需要传入一个处理消息的类的方法的作为参数的,原型:functionAllo

    2022年7月3日
    28
  • 选择排序 c语言(链表法)「建议收藏」

    选择排序 c语言(链表法)「建议收藏」选择排序代码链表实现c语言版–vc6.0

    2022年6月25日
    31
  • java连接数据库有几种方法_javaweb如何连接数据库

    java连接数据库有几种方法_javaweb如何连接数据库1.加载驱动Class.forname(数据库驱动名);2.建立数据库连接使用DriverManager类的getConnection()静态方法来获取数据库连接对象,其语法格式如下所示:Connectionconn=DriverManager.getConnection(Stringurl,Stringuser,Stringpass);其中url–数据库连接字符串….

    2025年6月11日
    4
  • Oracle提权[通俗易懂]

    Oracle提权[通俗易懂]三种方式1.普通用户模式:拥有一个普通的oracle连接账号,不需要DBA权限,可提权至DBA,并以oracle实例运行的权限执行操作系统命令2.DBA用户模式:(自动化工具)sqlmap–is-dba测试是否是dba权限拥有DBA账号密码,可以省去自己手动创建存储过程的繁琐步骤,一键执行测试3.注入提升模式:(sqlmap)拥有一个oracle注入点,可以通过注入点执行系统命令,此种模式没有实现回显,需要自己验证。三种方式的提权工具…

    2022年9月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号