![](/img/trans.png)
[英]http request (using net http or RestClient) inside my rails controller
[英]http request from inside rails controller
我想讓我的一個控制器從我的控制器內發出一個http請求,以“獲取”並解析一個xml,然后可以在我的視圖中顯示它。 聽起來很容易。
require 'net/http'
class Profile::EventTypesController < ProfileController
def index
url = URI.parse('instagram.com')
req = Net::HTTP.new(url, 80)
res = req.get('/my_account')
xml = res.body
@feed = Feedjira::Feed.parse xml
...
...
end
end
一旦嘗試,它將無法正常工作,並顯示以下異常:
WebMock::NetConnectNotAllowedError at /de
Real HTTP connections are disabled. Unregistered request: GET http://instagram.com/my_account with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'}
stub_request(:get, "http://instagram.com/partyguerilla").
with(headers: {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'}).
to_return(status: 200, body: "", headers: {})
有什么方法可以從控制器內部啟用“ REAL HTTP連接”嗎? 當我使用google時,所有內容都是關於模擬存根並從測試中進行的。.有人以前經歷過嗎?
謝謝
檢查您的Gemfile中是否有gem webmock
。 它應僅包括在測試組中,而不包括在開發中。
group :test do
gem 'webmock'
end
這同樣適用於rspec-rails
gem。 看到這個問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.