【发布时间】:2015-04-15 12:55:58
【问题描述】:
在我的 ap_hook_handler 中,当部分查询字符串包含 url 编码实体时,我遇到了 request_rec->args 的奇怪行为。
这是我的发现:
场景#1:编码查询字符串中的第一个'e':
结果:
r->uri: /test
r->args: "group= %mployees"(注意很多空格)
场景 #2:编码第二个“e”:
结果:
r->uri: /test
r->args: "group=employ 0.000000e-01s"
场景#3:编码最后一个'e':
结果:段错误
当我对路径的任何部分(不是查询字符串)进行 url 编码时,Apache 的行为:
场景#4:在路径中编码'e'而不是查询字符串:
结果:
r->uri: /test(预期)
r->args: NULL(预期)
为什么 'args' 和 'uri' 处理 url 编码的方式不同,如何在我的模块中获取规范化的查询字符串,就像使用 'request_rec->uri' 一样?
【问题讨论】:
标签: apache apache-modules