Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 服务器变量UNENCODED_URL包含奇怪的值,而不是编码的斜杠_C++_Url_Iis_Isapi - Fatal编程技术网

C++ 服务器变量UNENCODED_URL包含奇怪的值,而不是编码的斜杠

C++ 服务器变量UNENCODED_URL包含奇怪的值,而不是编码的斜杠,c++,url,iis,isapi,C++,Url,Iis,Isapi,我们有一个旧的IIS DLL,它使用GetServerVariable()来检索未编码的URL的值。访问URL时: https://example.com/a%2Fb 检索到的值如下所示: /path/to/server.dll/a0.000000b /path/to/server.dll/a%2Fb 这很奇怪,因为它应该是这样的: /path/to/server.dll/a0.000000b /path/to/server.dll/a%2Fb lpszPathInfo()的LPEXT

我们有一个旧的IIS DLL,它使用
GetServerVariable
()来检索
未编码的URL
的值。访问URL时:

https://example.com/a%2Fb
检索到的值如下所示:

/path/to/server.dll/a0.000000b
/path/to/server.dll/a%2Fb
这很奇怪,因为它应该是这样的:

/path/to/server.dll/a0.000000b
/path/to/server.dll/a%2Fb
lpszPathInfo
()的
LPEXTENSION\u CONTROL\u块的值具有以下值:

/a/b
正如所料


有人知道为什么
UNENCODED\u URL
值是这样的吗?我如何检索正确的值?

如果您使用例如
printf
来输出环境变量的值,而不是使用调试器,或者
put
,这将解释它<代码>%2f
将被理解为命令
printf
,将第一个变量参数作为浮点数输出


始终使用
puts
或其他不改变值的函数输出字符串

你是如何确定价值的?您不仅仅是使用
printf
来显示它?因为这可以解释为什么我要用一些遗留技术将它记录到一个文件中。很好,日志可能会误解它,我来看看。或者使用
printf()
%s
说明符打印其中包含
%
字符的字符串。切勿将任意字符串传递给
printf()
format
参数,仅传递为格式化而自己创建的字符串。