小小知识点,备忘
URI去解析下面这个地址的时候,会出错,需要转一下
转了之后再去解析就没问题了
URI去解析下面这个地址的时候,会出错,需要转一下
>> URI::parse("http://www.baidu.com/s?word=你好")
URI::InvalidURIError: bad URI(is not URI?): http://www.baidu.com/s?word=你好
from /usr/local/bin/rubyee/lib/ruby/1.8/uri/common.rb:436:in `split'
from /usr/local/bin/rubyee/lib/ruby/1.8/uri/common.rb:485:in `parse'
from (irb):15>> URI::escape("http://www.baidu.com/s?word=你好")
=> "http://www.baidu.com/s?word=%E4%BD%A0%E5%A5%BD"转了之后再去解析就没问题了
>> URI::parse("http://www.baidu.com/s?word=%E4%BD%A0%E5%A5%BD")
=> #<URI::HTTP:0x9fff4e8 URL:http://www.baidu.com/s?word=%E4%BD%A0%E5%A5%BD>
本文介绍了使用Ruby解析包含中文参数的URL时遇到的问题及解决方法。直接解析带有中文的URL会导致URI错误,通过URI::escape方法将中文转义为URL编码格式后,可以成功解析。

2478

被折叠的 条评论
为什么被折叠?



