URL被编码/转义之后(转换工具地址:URL在线编码转换工具),原始URL字符串内容被改变了,例如:
&fm=217&app=126&f=JPEG?w=363&h=225&s=9
转为:
%26fm%3D217%26app%3D126%26f%3DJPEG%3Fw%3D363%26h%3D225%26s%3D9
可以发现其中“&s=9”被转成了“%26s%3D9”,注意,“%26s”在printf格式化打印函数看来是一个参数,表示打印一个字符串,一共打印26个字符,不够的补空格。但是实际上这个字符串根本不存在,但是printf函数还是会在可变参数列表里面找一个参数作为要打印的字符串地址,这就是个野指针了,很容易导致死机。
那么非要打印这个编码后的URL地址怎么办呢?反编码回来得了。