logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Delphi - Błąd HTTP 500 przy logowaniu i pobieraniu pliku metodą POST

redie 04 Gru 2012 11:04 2112 4
REKLAMA
  • #1 11608689
    redie
    Poziom 16  
    Posty: 169
    Pomógł: 25
    Ocena: 1
    Witam,
    próbuję się zalogować na swoje konto na pewnej stronie a następnie pobrać plik metodą POST.

    Chodzę trochę po omacku, ponieważ logowanie zwraca mi błąd HTTP/1.0 500 Internal Server Error, a pobieranie pliku zwraca mi true - a gdzie plik?
    Poniżej przesyłam to co napisałem a pod tym fragmenty html tej strony.
    Prosiłbym o podpowiedź.

    Mój kod - Logowanie a następnie pobranie pliku
    Kod: Delphi
    Zaloguj się, aby zobaczyć kod


    html strony - logowanie
    Kod: text
    Zaloguj się, aby zobaczyć kod


    html strony - przycisk do pobrania pliku
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 11608747
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 299
    A ustawił kolega, przed wysłaniem zapytania o logowanie, typ pożądanego zapytania?
    Coś jak tutaj :
    Kod: Delphi
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 11608782
    redie
    Poziom 16  
    Posty: 169
    Pomógł: 25
    Ocena: 1
    Pomiędzy moim postem pierwszym postem a Twoją odpowiedzią sprówałem dorzucić dokładnie to co napisałeś, ale nie zmieniło to komunikatu błędu, próbowałem również ustawić typ na 'text/html', ale też nic z tego.

    W Firefoxie mam taki opis gdy klikam Zaloguj. Może chodzi o kodowanie?
    Cytat:
    Nagłówki żądania

    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Encoding:gzip, deflate
    Accept-Language:pl,en-us;q=0.7,en;q=0.3
    Connection:keep-alive
    Host:jakasstrona.pl
    Referer:http://jakasstrona.pl/auth
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0) Gecko/20100101 Firefox/10.0

    Nagłówki odpowiedzi

    Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Connection:Keep-Alive
    Content-Encoding:gzip
    Content-Length:20
    Content-Type:text/html; charset=UTF-8
    Date:Tue, 04 Dec 2012 10:33:51 GMT
    Expires:Thu, 19 Nov 1981 08:52:00 GMT
    Keep-Alive:timeout=15, max=100
    Location:/Pragma:no-cache
    Server:Apache/2.2.16 (Debian)
    Vary:Accept-Encoding
    X-Powered-By:PHP/5.3.3-7+squeeze3
  • REKLAMA
  • Pomocny post
    #4 11608841
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 299
    Skup się najpierw na samym logowaniu.
    Skoro zwraca ci błąd 500, to znaczy, że skrypt wywołujesz, ale nie kończy on swojego działania za względu na jakieś błędy.
    Może to być cokolwiek. Nawet nie wysłanie "zawartości" przycisku Submit.
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Zainstaluj sobie do FF jakąś wtyczkę, która pokazuje dokładnie jakie dane zostały wysłane w zapytaniu POST, z normalnego logowania na stronie, i ustaw dokładnie te dane w swoim programie.
    Kiedyś była taka wtyczka o nazwie Data Temper, ale jakoś nie mogę jej teraz odnaleźć.

    Co do pobrania tego zdjęcia/obrazka, to skrypt koduje dane w formacie json. Bez dokładnego sprawdzenia jak te dane wyglądają w formacie zakodowanym, nie dasz rady wysłać poprawnego zapytania podając tylko parametry POST.

    Dodano po 2 [minuty]:

    Znalazłem tę wtyczkę : https://addons.mozilla.org/en-us/firefox/addon/tamper-data/eula/79565?src=dp-btn-primary
  • #5 11608948
    redie
    Poziom 16  
    Posty: 169
    Pomógł: 25
    Ocena: 1
    Ten dodatek: Dane Temper okazał się bardzo przydatny.
    Ustawiłem wszystko tak jak tam jest to napisane i logownie przeszło.

    Następnie wykonałem POST z dwoma parametrami i ustawieniami spisanymi z Dane Temper
    Kod: Delphi
    Zaloguj się, aby zobaczyć kod


    a następnie znów POST bez parametrów, ponieważ w htmlu było coś takiego:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    no i dostałem w odpowiedzi plik JPG.
    Dzięki :)
REKLAMA