Synapse i logowanie na stronę

0

Witam. Chciałem skorzystać w programie z konta premium na hostingu wupload.com więc pobrałem darmową bibliotekę Synapse do Delphi która jest podobno prostsza niż Indy. Skorzystałem z gotowego źródła które było w paczce. Mogę wysyłać metodą post do moich plików .php i dostawać odpowiedzi, jednak nie potrafię się zalogować na tej stronie.

function ProxyHttpPostURL(const URL, URLData: string; const Data: TStream): Boolean;
var
  HTTP: THTTPSend;
begin
  HTTP := THTTPSend.Create;
  try
    HTTP.ProxyHost := Form1.Edit8.Text;
    HTTP.ProxyPort := Form1.Edit9.Text;
    HTTP.Document.Write(Pointer(URLData)^, Length(URLData));
    HTTP.MimeType := 'application/x-www-form-urlencoded';
    Result := HTTP.HTTPMethod('POST', URL);
    Data.CopyFrom(HTTP.Document, 0);
  finally
    HTTP.Free;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  st: TMemoryStream;
begin
  st:=TMemoryStream.Create;
  try
    ProxyHTTPpostURL('http://www.wupload.com/account/login', 'email=verona&redirect=%2F&password=spadaj&rememberMe=1', st);
    st.Seek(0,soFromBeginning);
    Memo2.Lines.LoadFromStream(st);
  finally
    st.Free;
  end;
end;

W ostateczności memo jest puste - żadnego result. Po wykonaniu GET nadal widać w źródle, że jestem niezalogowany. Akcja logowania prześledzona przez wireshark.

Co robię nie tak?
Proszę o pomoc

0

Już Tobie na GG odpisałem. Nie mam doświadczenia z proxy, ale jeżeli nie pomoże dodanie tego accepta do htmla, z którego koniecznością dodania wyjątkowo spotkałem się przy logowaniu na lockerz.com to mogę jedynie zasugerować to, żebyś zapisał to co pokazuje WireShark do wysyłania do pliku i wczytał jako nagłowek (poza content length). Jeżeli wtedy się zaloguje to znaczy, że czegoś Tobie brakuje w nagłówku, ktory wysyła Synapse, a co jest w nagłówku od przeglądarki internetowej. Inne powód wskazujący przy POST na to, że Document jest pusty, jest brak obsłużenia przekierowania. Zobacz sobie przy użyciu MessageBoxa albo ShowMessage co Tobie zwraca własnośc Http.Headers.Text po HTTP.HTTPMethod('POST', URL); jeżeli kod 301 lub 302 to należy obsłużyć przekierowanie tak jak zrobiłem to w kodzie, do którego link podałem Tobie na GG, bo wcześniej sprawdzałem wiadomości na GG zanim zajrzałem na forum i zobaczyłem Twój post.

0

Nie chce mi sie bawić bo już późno ale zgaduję, że trzeba wcześniej GET http://www.wupload.com/ bo tam leci jakieś ciacho może być konieczne też dodanie nagłówka Referer przy POST.

0

Taką ewentualnośc również trzeba brać pod uwagę, ąle w przypadku tej strony wystarcz obsłużyć przekierowanie, ktore następuje zawsze w przypadku kiedy podamy prawidłowe dane do logowania. Przykład logowania na wupload.com umieściłem w swoim przydługim artykule na: Obsługa protokołu HTTP przy użyciu pakietu Synapse ale teraz będzie do czego odsyłać. Opisałem wszystko tak jak potrafiłem i jest dużo konkretnych według mnie przykładów.

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