2012-11-28 3 views
7

나에 대한 Bitly 보석 (https://github.com/philnash/bitly)를 사용하고 Bitly API 버전은 URL을 단축하는 동안 오류가 발생하는 3Bitly INVALID_URI - '500'

는 응용 프로그램이 배포 될 때 헤로 쿠. 로컬로 단축은 잘 작동합니다.

def get_short_url(url) 
    Bitly.use_api_version_3 
    bitly = Bitly.new(Settings.bitly.login, Settings.bitly.api_key) 
    result = bitly.shorten(url) ----------------- Line 3 
    result.short_url 
end 

위의 코드에서 3 행은 INVALID_URI - '500'오류를 제공합니다. 내가 bitly.com를 사용할 때 잘 단축

"https://rs-4615.xyz.com/users/profile_view/20492083" 

내가 단축하려고하는 URL입니다.

문제를 파악할 수 없습니다. 누구든지 도와 줄 수 있습니까?

샤 다르.

+0

** 단축 번호 **로 전달하기 전에 URL을 인코딩 하시겠습니까? 문서는 링크에 문제가 있음을 의미한다고합니다. 어쩌면 이중 인코딩. – jstim

+0

URL을 인코딩하지 않습니다. –

+1

문제가 영웅에게만 나타나는 것 같으면 두 환경의 차이점은 무엇입니까? postgres를 로컬 dev 데이터베이스로 사용하고 있습니까? heroku의 postgres db가 당신의 문자열에 걸림돌이 될 수 있습니까? – jstim

답변

11

누군가 다른 사람이 같은 문제를 제기하는 경우를 대비하여 응답하고 수락합니다.

문제는 내 코드에서 생성 된 URL이 'https'프로토콜을 URL에 미리 지정하지 않았기 때문에 실패한 것입니다.

그럼, 생성 된 것은

rs-4615.xyz.com/users/profile_view/20492083 

INSTEAD OF

https://rs-4615.xyz.com/users/profile_view/20492083했다 -이 올바른 것입니다.

@jstim, 모든 도움에 감사드립니다.

+2

Bit.ly가 좋아하지 않는 또 다른 점은 URL의 호스트 이름이 'localhost'인 경우입니다. 내 개발 환경에서 이것을 시도하고 다른 문제로 호스트 이름을 변경 내 문제가 해결되었습니다. –

+1

Bit.ly는 'lvh.me'를 허용하지만 localhost로 리디렉션되는 멋진 b/c입니다. –