首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails 3中使用来自控制器操作的REST请求

在Rails 3中使用来自控制器操作的REST请求
EN

Stack Overflow用户
提问于 2012-09-21 09:01:23
回答 1查看 271关注 0票数 0

我需要在控制器的更新操作中使用REST请求。这是Amazon Payments Marketplace API。下面是他们的例子。我该如何在控制器中调用它并处理响应呢?下面也是响应。非常感谢您的帮助。

代码语言:javascript
复制
Sample REST Request

https://fps.sandbox.amazonaws.com?
Action=Settle
&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
&ReserveTransactionId=14GKD9GE66FAA63E6O6B2JDPZKN53LZ7F22
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Signature=SJJLsIBghi7VIycBjX7c3hnfgZ%2FBvZbzqLtAZXDL8ys%3D
&Timestamp=2009-10-06T07%3A53%3A11.750Z
&TransactionAmount.CurrencyCode=USD
&TransactionAmount.Value=1
&Version=2008-09-17

REST请求响应示例

代码语言:javascript
复制
<SettleResponse xmlns="http://fps.amazonaws.com/doc/2008-09-17/">
  <SettleResult>
    <TransactionId>14GKD9GE66FAA63E6O6B2JDPZKN53LZ7F22</TransactionId>
    <TransactionStatus>Pending</TransactionStatus>
  </SettleResult>
  <ResponseMetadata>
    <RequestId>9ed2008b-b230-4ed0-9210-095f77fc2359:0</RequestId>
  </ResponseMetadata>
</SettleResponse>
EN

回答 1

Stack Overflow用户

发布于 2012-09-21 09:44:58

代码语言:javascript
复制
require "net/http"
require "open-uri"

uri = URI.parse("http://www.google.com")
response = Net::HTTP.get_response(uri)
=> #<Net::HTTPOK 200 OK readbody=true>

然后获取响应的正文:

代码语言:javascript
复制
body = response.body
#=> "<!doctype html><html itemscope=\"itemscope\" ...

如果你想做更复杂的事情,我建议你使用像HTTPartyfaraday这样的HTTP client gem

如果繁重的任务只是在响应解析方面,那么您可以使用nokogiri

代码语言:javascript
复制
require 'nokogiri'

doc = Nokogiri::HTTP(body)
doc.search('h1').text
#=> "Google"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12522986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档