gpt4 book ai didi

ruby - ERROR URI::InvalidURIError: Bad URI(is not URI?) 因为浏览器

转载 作者:数据小太阳 更新时间:2023-10-29 07:34:38 28 4
gpt4 key购买 nike

我的一些网址上有一些特殊字符。例如:

http://blabla.com/title/?t=burası

当我从其他页面提供指向该页面的链接时,我使用:

URI.encode(s)

产生这个链接:

/title/?t=buras%C4%B1

虽然在此之前一切正常,但我在页面上还有另一个具有编码 url 的表单。但是,当用户访问 /title/?t=buras%C4%B1 时,浏览器往往会解码我编码的 url,并将 url 转换为 /title/?t=burası 。问题从这里开始,因为当用户尝试从“burası”页面上的表单发送内容时,sinatra 给出错误:

ERROR URI::InvalidURIError: 错误的 URI(不是 URI?):http://localhost:3000/title/?t=burası

我认为这是因为 HTTP 请求的“引荐来源网址”字符串,但只要浏览器倾向于自动解码该字符串,我就找不到任何解决方法。

最佳答案

您应该在 FORM 方法中对 URI 进行编码。

例如,让您的 HTML FORM 操作看起来像这样:

<form action="/title/?t=buras%C4%B1" method="post">

这是否为您解决了问题?

(编辑:感谢 x1a4 的更正——当然你是对的!:)

关于ruby - ERROR URI::InvalidURIError: Bad URI(is not URI?) 因为浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787440/

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