Moja aplikacja Rails regularnie sprawdza pliki ICS partnerów, a czasami kończy się niepowodzeniem bez żadnego powodu.
curl https://www.airbnb.es/calendar/ical/234892374.ics?s=23412342323
(params # sfałszowane tutaj)
Otrzymuję dane wyjściowe pasujące do zawartości pliku ICS. Otwarcie go w przeglądarce również działa dobrze.
Kiedy używam:
Net::HTTP.get(URI(a.ics_link))
Otrzymuję odpowiedź "Usługa tymczasowo niedostępna 503". Próbowałem również tego samego z OpenURI z podobnymi wynikami.
Dlaczego serwer traktuje żądania z loków lub przeglądarek inaczej?
Czy jest jakiś sposób, żeby Ruby to obejść?
Odpowiedzi:
-1 dla odpowiedzi nr 1To jest problem z https ... nie wiem dlaczego, ale zmień adres URL w Ruby na https i powinno działać.