-->

百分比编码URL两次(Percent-encode URL Twice)

2019-10-16 14:06发布

我一直在给百分之编码一些指令的URL两次。 我知道如何编码百分之一URL一次,但你怎么做两次?

切切实实的,当它被编码一次,再次编码时,将是相同的。

我错过了什么?

指令或算法将是巨大的!

Answer 1:

因为你编码它不会是相同%用于编码。

$url = 'http://www.youtube.com/watch?v=35_0IN36rUI'
echo $url;
echo urlencode($url);
echo urlencode(urlencode($url));

会给:

http://www.youtube.com/watch?v=35_0IN36rUI
http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D35_0IN36rUI
http%253A%252F%252Fwww.youtube.com%252Fwatch%253Fv%253D35_0IN36rUI


Answer 2:

要倍加编码网址在PHP做:

$encodedUrl = urlencode(urlencode($url));

非也,当编码两次相同的输出。 首先增加了百分之编码和第二实际上将编码这些百分号...例如:

urlencode('guts & glory'); // "guts+%26+glory"
urlencode(urlencode('guts & glory')); // "guts%2B%2526%2Bglory"


文章来源: Percent-encode URL Twice