ruby – ERROR URI :: InvalidURIError:由于浏览器,错误的URI(不是URI?)

ruby – ERROR URI :: InvalidURIError:由于浏览器,错误的URI(不是URI?),第1张

概述我的一些网址上有一些特殊字符.例如: http://blabla.com/title/?t=burası 当我从其他页面提供指向该页面的链接时,我使用: URI.encode(s) 产生这个链接: /title/?t=buras%C4%B1 虽然到目前为止一切正常,但我在页面上还有另一个带有编码网址的表单.但是当用户访问/ title /?t =burası并将网址转换为/ title /?t = 我的一些网址上有一些特殊字符.例如:

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

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

URI.encode(s)

产生这个链接:

/Title/?t=buras%C4%B1

虽然到目前为止一切正常,但我在页面上还有另一个带有编码网址的表单.但是当用户访问/ Title /?t =burası并将网址转换为/ Title /?t =burası时,浏览器倾向于解码我的编码网址.问题从这里开始,因为当用户尝试从’burası’页面上的表单发送内容时,sinatra会出错:

错误URI :: InvalIDURIError:错误的URI(不是URI?):http:// localhost:3000 / Title /?t =burası

我认为这是因为http请求的’referrer’字符串,但我找不到任何解决方法,只要浏览器倾向于自动解码字符串.

解决方法 您应该在FORM方法中对URI进行编码.

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

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

这能为你解决吗?

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

总结

以上是内存溢出为你收集整理的ruby – ERROR URI :: InvalidURIError:由于浏览器,错误的URI(不是URI?)全部内容,希望文章能够帮你解决ruby – ERROR URI :: InvalidURIError:由于浏览器,错误的URI(不是URI?)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1274681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存