2016-11-15 5 views
-1

Feedjira 2.0 발표 블로그 게시물에 사용자 에이전트를 설정하려는 경우 구성 옵션이어야하지만이를 수행하는 방법이 명확하지 않다고합니다. 이상적으로는 이전에 Feedjira 1.0에서 제공 한 옵션 인 user_agent, if_modified_since, timeout 및 ssl_verify_peer를 모방하고 싶습니다.Ruby : Feedjira 구성 옵션을 설정하는 방법?

feed_parsed = Feedjira::Feed.fetch_and_parse("http://sports.espn.go.com/espn/rss/news", {:if_modified_since => Time.now, :ssl_verify_peer => false, :timeout => 5, :user_agent => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36"}) 

구성 옵션은 출신 설정되는 경우 내가 본 유일한 예 :

http://feedjira.com/blog/2014/04/14/thoughts-on-version-two-point-oh.html

는 Feedjira 1.0로, 당신은 (here를 설명 참조) 다음 호출하여 이러한 옵션을 설정할 수 있습니다 다음되는 등의 GitHub의 풀 요청에 comment :

Feedjira::Feed.configure do |faraday| 
    faraday.request :user_agent, app: "MySite", version: APP_VERSION 
end 

을하지만 몇 가지를 시도 할 때 비슷한 일이, 나는 다음과 같은 오류가 발생 :

패치가 타임 아웃 옵션이 fetch_and_parse 함수에 전달 될 수 있도록 추가 된 것 같습니다
undefined method `configure' for Feedjira::Feed:Class 
+0

링크 된 페이지와 "[mcve]"를 포함하여 "[ask]"를 읽으십시오. 시도한 것을 보여주는 최소 코드와 작동하지 않는 이유에 대한 설명이 필요합니다. 현재 귀하의 질문은 광범위합니다. –

답변

0

: 그 라이브 누를 때까지, 그러나 https://github.com/feedjira/feedjira/pull/318/commits/fbdb85b622f72067683508b1d7cab66af6303297#diff-a29beef397e3d8624e10af065da09a14

, 시간 초과 및 open_timeout 옵션은 가져 오기를 위해 Feedjira를 우회하여 대신 Faraday (또는 Net :: HTTP와 같은 HTTP 요청을 가져올 수있는 라이브러리)를 사용하여 전달할 수 있습니다. 또한 SSL을 false로 확인 설정하고, 이와 같은 사용자 에이전트 설정할 수 있습니다 : 나는 "if_modified_since"를 확인하는 방법을 보지 못했다

require 'feedjira' 
require 'pp' 

url = "http://www.espn.com/espnw/rss/?sectionKey=athletes-life" 

conn = Faraday.new :ssl => {:verify => false} 
response = conn.get do |request| 
    request.url url 
    request.options.timeout = 5 
    request.options.open_timeout = 5 
    request.headers = {'User-Agent' => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36"} 
end 
feed_parsed = Feedjira::Feed.parse response.body 
pp feed_parsed.entries.first 

,하지만 내가 할 경우 내가 대답을 업데이트합니다.