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

ruby – 将空白字符串转换成URL

发布时间:2020-12-16 21:56:14 所属栏目:百科 来源:网络整理
导读:我使用ruby和谷歌反向geocode yql表,以理想的自动化我有一些搜索查询.我遇到的问题是将查询转换为合法的网址格式.问题是我使用的编码是返回非法的URL.我正在运行的查询如下 query="select * from google.geocoding where q='40.714224,-73.961452'" pQuery=
我使用ruby和谷歌反向geocode yql表,以理想的自动化我有一些搜索查询.我遇到的问题是将查询转换为合法的网址格式.问题是我使用的编码是返回非法的URL.我正在运行的查询如下
query="select * from google.geocoding where q='40.714224,-73.961452'" 
pQuery= CGI::escape(query)

处理后的查询的最终输出如下所示

http://query.yahooapis.com/v1/public/yql?q=select+%2A+from+google.geocoding+where+q%3D%2740.3714224%2C--73.961452%27+format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=

唉url是非法的.当检查YQL控制台中查询的样子时,我得到以下内容

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20google.geocoding%20where%20q%3D%2240.714224%2C-73.961452%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=

你可以希望看到:),编码是错误的.我想知道有谁知道我可以如何生成正确的网址.

解决方法

如果你想转义一个URI,你应该使用URI :: escape:
require 'uri'

URI.escape("select * from google.geocoding where q='40.714224,-73.961452'")
# => "select%20*%20from%20google.geocoding%20where%20q='40.714224,-73.961452'"

(编辑:李大同)

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

    推荐文章
      热点阅读