为什么要URL编码传送

BSPHP是一款B/S结构网络验证码系统,用于软件软件会员收费系统管理验证系统,目前网络验证系统已经兼容所有编程接口HTPP调用,低代码开发首选.
详情

URL编码

在一个URL请求中如:

  1. 1.http://app.bsphp.com/admin/index.php?m=admin&c=main&a=index&tac=123456,
  2. 2.http://app.bsphp.com/admin/index.php?m=admin&c=main&a=index&tac=&a=123?&admin=123,
  3. 3.http://app.bsphp.com/admin/index.php?m=admin&c=main&a=index&tac=%26a%3d123%3f%26admin%3d123

,如果连接2不转换链接3进行提交里面act=[参数值],就会识别是参数a=123参数admin=123,实际上是【&a=123?&admin=123】tac=参数的参数值,这样URL就会多2个参数甚至后面还有参数也导致无法识别,所以我们提交URL参数值需要进行编码,被编码字符都禁用关键词,跟编程or and if do 一个道理。

?、&、#等这些字符是URL里比较或者赋值符合如if or and 等类似,但是我们要直接传送就会被HTTP协议误认参数赋值,所以我们要把他们转换一下就是URL转码了

url转码俗话说就是替换他们成为其他字符保存就可以

他们转换结果如下

%3f => ?

%26 => &

%23 => #

%3d => =

[空格] => +

等,上面是基本,如果不会URL编码可以直接进行这样替换就可以解决.

所以您们看到加密传送时候《parameter=[URL编码拼接]》为什么要URL编码了吧。

标准URL编码转换:http://tool.chinaz.com/tools/urlencode.aspx

相关