我在使用Typhoeus进行请求时遇到了问题,因为我的查询需要在其中加上引号。
如果URl是
url = "http://app.com/method.json?'my_query'"一切都很好。然而,我尝试运行的方法只有在查询符合以下条件时才返回我想要的结果(我已经在浏览器中测试过了):
url2 = "http://app.com/method.json?"my_query""运行时
Typhoeus::Request.get(url2) 我得到(URI::InvalidURIError)
用"\“转义引号不起作用。我该怎么做呢?
谢谢
发布于 2011-07-19 07:52:58
您应该使用URI.encode或CGI.escape正确地编码您的URI,这样做将获得正确的URL,如下所示:
http://app.com/method.json?%27my_query%27 # Single quotes
http://app.com/method.json?%22my_query%22 # Double quotes发布于 2011-07-19 07:53:11
尝试:
require 'uri'
URI.encode('"foo"')
=> "%22foo%22"发布于 2017-08-18 14:13:50
在GET请求中传递json、引号等是很棘手的。在Ruby 2+中,我们可以使用Ruby的URI模块的“转义”方法。
> URI.escape('http://app.com/method.json?agent={"account":
{"homePage":"http://demo.my.com","name":"Senior Leadership"}}')但我建议将其用作POST请求,并将其作为消息体传递。
https://stackoverflow.com/questions/6740655
复制相似问题