我所做的
str= " John Smith Beer "
str.tr(" ", "%20")
"%%John%%%Smith%Beer%"
Run Code Online (Sandbox Code Playgroud)
它不会用"%20"代替它.怎么解决?
我正在尝试通过以下方式发送获取请求:
require "net/https"
require "uri"
...
uri = "https://graph.facebook.com/v2.2/#{event_id}?access_token=#{access_token}"
uri = URI.parse(uri)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
response.body
Run Code Online (Sandbox Code Playgroud)
Facebook给我发送了一个acces_token带有|char的字符,由于它uri = URI.parse(uri)引发了错误:URI::InvalidURIError: bad URI(is not URI?) https:/ ....
还有其他解析器,还是我应该手动提取这些主机,端口,request_uri值?修复它的最佳方法是什么?
access_token 看起来像 141112112181111|9Alz3xW7P0CQ_DRomJN2oMeiwXs
event_id 例如 385101904985590
编辑:刚刚意识到它的结构是 APP_ID|some_token