2012-11-27 8 views
0

간단한 RSS 구문 분석 및 렌더링을 수행합니다. Heroku에서 로컬 호스트 및 프로덕션에서 완벽하게 작동하지만,이 특정 RSS 피드는 로컬 호스트에서만 작동하지만 Heroku에서는 배포되지 않습니다. 내가 필요 해요Heroku에서 RSS 구문 분석 오류가 발생했습니다.

@rss = RSS::Parser.parse(the_rss_feed, false) 
render :partial => "layouts/rss_syndicated_jobs", :locals => {:rss => @rss} 

: 여기

A ActionView::Template::Error occurred in jobs#index: 
503 Service Unavailable 
/usr/local/lib/ruby/1.9.1/open-uri.rb:346:in `open_http' 

내 코드입니다 : 여기
http://careers.joelonsoftware.com/jobs/feed?tags=network 

내가 Heroku가에서 얻을 오류입니다 : 여기

는 RSS 피드입니다 :

require 'rss/2.0' 
require 'open-uri' 

이것은 완벽하게 유효한 RSS 피드 인 것 같습니다. 그리고 다시 로컬 호스트에서 잘 작동합니다. 그러나 Heroku에서 배포 할 때 .... 어떤 생각이 들지 않습니까?

답변

1

그 도메인은 heroku의 서버가 HTTP GET 요청을하는 것을 좋아하지 않습니다. 당신에게 Heroku를 통해 응답 본문을 인쇄 할 경우 로컬 컴퓨터

➜ deefour ✗ curl -s -D - careers.joelonsoftware.com/jobs/feed -o /dev/null 
HTTP/1.1 200 OK 
Cache-Control: private, max-age=1800 
Content-Type: application/rss+xml; charset=utf-8 
Expires: Tue, 27 Nov 2012 02:46:38 GMT 
Access-Control-Allow-Origin: * 
Access-Control-Allow-Methods: POST, GET, OPTIONS 
Access-Control-Allow-Headers: x-requested-with 
Access-Control-Max-Age: 60 
Date: Tue, 27 Nov 2012 02:16:38 GMT 
Content-Length: 10982 

에서 Heroku가

➜ deefour ✗ heroku run "curl -s -D - careers.joelonsoftware.com/jobs/feed -o /dev/null" 
Running `curl -s -D - careers.joelonsoftware.com/jobs/feed -o /dev/null` attached to terminal... up, run.9211 
HTTP/1.0 503 Service Unavailable 
Cache-Control: no-cache 
Connection: close 
Content-Type: text/html 

에서

그것은

이 IP가 아니라 다음과 같은 정보를 제공합니다 API에 액세스 할 수 있습니다. 사용자를 보호하기 위해이 IP 주소에서 요청을 처리 할 수 ​​없습니다. 이 페이지가 잘못 표시되었다고 생각되면 Google에 문의하십시오.

+0

굉장합니다 - 하나님께서는 방금 얼마 동안 나를 구했는지 알고 계십니다. – cman77

+0

어떻게했는지 물어볼 수 있습니까? "Heroku를 통해 응답 본문을 인쇄하면 다음 정보가 제공됩니다" – cman77

+0

그래, curl 명령에 플래그를 사용하지 마십시오. 단순히 'heroku run'curl careers.joelonsoftware.com/jobs/feed "'를 수행하십시오. 'heroku run'은 heroku 인스턴스에 대해 임의의 쉘 명령을 실행합니다 * (모든 것이 지원/허용/사용 가능하지는 않지만) * – deefour

관련 문제