加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 02:18:03 所属栏目:百科 来源:网络整理
导读:我的一些网址上有一些特殊字符.例如: http://blabla.com/title/?t=buras? 当我从其他页面提供指向该页面的链接时,我使用: URI.encode(s) 产生这个链接: /title/?t=buras%C4%B1 虽然到目前为止一切正常,但我在页面上还有另一个带有编码网址的表单.但是当用
我的一些网址上有一些特殊字符.例如:

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进行更正 – 当然你是对的!:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读