Javascript 将有效url编码为有效路径名
我自己对此有点困惑。如果出于某些原因,我想将任何有效的url编码为有效的路径名,例如,用于url结构如下的图像代理:Javascript 将有效url编码为有效路径名,javascript,node.js,url-encoding,Javascript,Node.js,Url Encoding,我自己对此有点困惑。如果出于某些原因,我想将任何有效的url编码为有效的路径名,例如,用于url结构如下的图像代理: http://image-proxy/hash_of_url/encoded_url 有没有一种有效的方法可以在javascript中实现编码的url?我在node.js运行时 我需要这样做,因为它将被不在我控制范围内的另一个代理使用,该代理的url有以下问题: http://image-proxy/hash_of_url/?url=encoded_url PS:hash\u
http://image-proxy/hash_of_url/encoded_url
有没有一种有效的方法可以在javascript中实现编码的url
?我在node.js运行时
我需要这样做,因为它将被不在我控制范围内的另一个代理使用,该代理的url有以下问题:
http://image-proxy/hash_of_url/?url=encoded_url
PS:
hash\u of_url
是原始url的hmac摘要,以确保url由服务器生成,但这对我的问题并不重要。如果您想将编码的url插入路径,您应该使用encodeURIComponent
,它将对路径边界字符进行编码,如/
,?
,&
等等
您的意思是
encodeURIComponent
?对于路径名来说encodeURIComponent
安全吗?我在第二个示例中使用了它,但是我们可以确保encodeURIComponent
将url编码为路径名中的有效段吗?而且encodeURI
似乎比encodeURIComponent
更合适,但我的问题是,它们是最佳选项吗?