gpt4 book ai didi

ruby - 转义 URL(没有双重转义)

转载 作者:数据小太阳 更新时间:2023-10-29 08:09:56 26 4
gpt4 key购买 nike

如何根据需要对 URL 进行转义而不进行双重转义?

是否有 Ruby 库已经可以做到这一点?我想知道 WebKit 或 Chrome 使用什么算法。

两个例子:

  • 此 URL 无效,因为 % 未转义:http://x.co/op&k=21%。如果您将它键入 URL 栏,它就会知道将其转义。 (它在幕后转义了 '%',对吧?)

  • 如果您在浏览器中键入 http://localhost:3000/?s=hello%20world,它知道转义 % 20 再次。

我想重用已经处理过浏览器必须处理的边缘情况的优秀代码。如有必要,我不介意调用外部库。

更新:是的,我知道 URI.parse .无需向我展示语法。我的问题比那更难。

最佳答案

到目前为止,获胜者是:

  • Addressable::URI#normalize :“返回规范化的 URI 对象。注意:此方法并不试图完全符合规范。它的存在主要是为了纠正其他人阅读规范的失败,并处理缓存问题,因为几个不同的 URI 可能代表相同的资源并且不应多次缓存。”

  • Addressable::URI.heuristic_parse :“将输入转换为 URI。输入不必是有效的 URI——该方法将使用试探法来猜测 URI 的目的。这不符合标准,只是对用户友好。”

关于ruby - 转义 URL(没有双重转义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11718983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com