Flask. Lokalnie działa, na serweze już nie. Error 500

0

Ciężko było wymyślić temat dla mojego problemu ale dobrze opisuje mój problem.
Napisałem stronkę we Flasku i gdy testuje ją na swoim komputerze to działa ale na pythonanywhere dostaję błąd 500, w logach jest taki błąd: http://pastebin.com/Z0GxMGjn
Wygląda że błąd jest przy api wykop-u ale jak już wspominałem "u mnie działa". Czy jest ktoś mi w stanie pomóc? Z góry dziękuje.
To fragment mojego kodu:

api = wykop.WykopAPI(APP_KEY, APP_SECRET)
api.authenticate(LOGIN, CONN)
api.add_entry(body)
0

Wygląda dziwnie, masz te same wersje flaska lokalnie i na serwerze? Chociaż wyjątek akurat leci w json.loads.

Ew. jeśli wersja jest ta sama spróbuj uruchomić tcpdump/wiresharka i zobaczyć co wykop odpowiada lokalnie a co odpowiada na serwerze.

0

Brzmi jakby wykop odsyłał w odpowiedzi coś czego API po twojej stronie się nie spodziewa. Podejrzyj komunikację jak msm polecił.

0

@msm, @Rev Wersje Flaska były rożne. Po skonfigurowaniu na serwerze virtualenv z tą samą wersją wykop zwracał błąd wykop.api.exceptions.base.WykopAPIError: (0, '403') Choć lokalnie działa bez problemu. Nie za bardzo wiem jak mógłbym podejrzeć komunikacje na serwerze.
Może powinniem coś edytować w wsgi? W tym jeszcze nic nie robiłem.

0

Sprawdź czy wykop nie zbanował IP Twojego serwera. Sprawdź także, czy wszystkie pakiety które są potrzebne do API na pewno masz zainstalowane na serwerze, oraz sprawdź czy nie ma żadnych błędów przy loginie i haśle.

0

@liske1 Klucz aplikacji, klucz sekretny, klucz połączenia i login są poprawne. Wszystkie pakiey są zainstalowane.
Dostaję dwa błędy w zależności od wersji flaska.

  1. Flask 0.10.x(nie pamiętam dokładnie)
    http://pastebin.com/xW5HJJdD
  2. Flask 0.11.1
    wykop.api.exceptions.base.WykopAPIError: (0, '403')
0

Sprawdź czy nie masz firewall, który blokuje dostęp do wykop lub portów, przez które API się komunikuje, ponieważ błąd 403 oznacza "odmowę/zakaz dostępu do określonych zasobów". Więc może być, że wina nie leży po stronie programistycznej, a po stronie konfiguracji sieci.

0

Firewall-a nie mam jak sprawdzić. Ale wydaje mi się że znalazłem odpowiedz. https://help.pythonanywhere.com/pages/403ForbiddenError .

0

No tak, na takim darmowym możesz mieć różne problemy. Możesz spróbować na darmowej wersji Heroku, ale jeśli jesteś studentem masz znacznie lepszą opcję do wyboru: https://education.github.com/pack
Dostajesz tam 50 dolarów na Digital Ocean, co wystarczy na 10 miesięcy ciągłej zabawy z najtańszym VPSem lub znacznie dłużej jeśli VPS nie będzie cały czas działał.

1 użytkowników online, w tym zalogowanych: 0, gości: 1