创建一个GET请求并接收参数



我正在开发Ruby on Rails应用程序。我必须向以下内容发出GET请求:

https://[@subdomain] .chargify.com/subscriptions/(@subscription.id) . json

收到的响应将是json。我试图通过使用ruby的"net/http"库进行GET请求来实现这一目标,我的代码如下:

res = Net::HTTP.get(URI.parse('https://[@subdomain].chargify.com/subscriptions/[@subscription_id].json')) 

但是我得到了一个错误,它是:

错误的URI(不是URI?):[@subscription_id] https://[@subdomain] .chargify.com/subscriptions/. json

我不确定我到底在哪里犯了这个错误。任何建议或帮助将不胜感激。

谢谢

您指的是#{@subdomain}而不是[@subdomain]吗?必须在双引号"内,以便正确插入

现在您知道您的错误是您没有正确地插入字符串。您应该指定#{@subdomain}而不是[@subdomain],并且您需要在字符串

周围使用双引号

现在的问题是需要告诉http连接使用ssl。我用这样的东西…

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)

两件事:

  1. @subdomain的值需要使用

    传递
    #{@subdomain}
    
  2. 连接是ssl

    def net_http(uri)
    h = Net::HTTP.new(uri.host, uri.port)
    h.use_ssl=true
            h
    end
    
然后

     request=net_http(URI.parse("https://#       {@subdomain}.chargify.com/subscriptions/#{@subscription_id}.json"))

执行get操作

     request=net_http(URI.parse("https://#       {@subdomain}.chargify.com/subscriptions/#{@subscription_id}.json")).start do |http|
        http.get(URI.parse("whatever_url").path,{:params=>123})
        end 

相关内容

  • 没有找到相关文章

最新更新