Łącze sie z stroną https która wymaga SSL. Zawsze robiłem to przez Indy, ładowałem komponent IdSSLIOHandlerSocket na forme, do katalogu z aplikacją biblioteki libeay32.dll i ssleay32.dll i pozamiatane. Postanowiłem jednak zamienić Indy na Synapse. Jednak nie wiem jak teraz będzie wyglądać sprawa z SSL, wczesniej wszystko robił komponent a teraz bede musiał to robić sam. Najgorsze jest jednak to, że w bibliotekach libeay32.dll i ssleay32.dll nie było żadnej dokumentacji i nie wiem nawet jakie procki mam importować. Ktoś sie już z tym uporał?
0
0
Jest coś takiego jak synassl.pas, więc powinno to być jakoś rozwiązane. Jeśli się nie mylę, to jakiś argument odpowiedni przy metodzie łączenia albo coś powinien wystarczyć.
0
Po kilku miesiącach postanowiłem jeszcze raz spróbować z Synapse + SSL ale w nijak mi to idzie :-/ . Przeszukałem grupy dyskusyjne w google, znalazłem coś. Powiem że próbuje się zalogować na Orange.pl. To jest przerobiony kod który powinien działać:
procedure TForm1.Button1Click(Sender: TObject);
Var
Result_Stream: TMemoryStream;
FormFields: TStringList;
begin
Result_Stream := TMemoryStream.create;
FormFields := TStringList.create;
Try
FormFields.Values['_dyncharset'] := 'UTF-8';
FormFields.Values['/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.loginErrorURL'] := '/portal/map/map/signin';
FormFields.Values['_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.loginErrorURL'] := '';
FormFields.Values['/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.loginSuccessURL'] := 'http://www.orange.pl/portal/map/map/pim';
FormFields.Values['_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.loginSuccessURL'] := '';
FormFields.Values['/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.value.login'] := 'Tu_wpiszcie_swoj_Login';
FormFields.Values['_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.value.login'] := '';
FormFields.Values['/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.value.password'] := 'Tu_wpiszcie_haslo';
FormFields.Values['_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.value.password'] := '';
FormFields.Values['/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.login.x'] := '145';
FormFields.Values['/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.login.y'] := '22';
FormFields.Values['_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.login'] := '';
FormFields.Values['_DARGS'] := '/gear/static/login.jsp';
HttpPostURL('https://www.orange.pl/portal/map/map/signin?_DARGS=/gear/static/signIn.jsp', FormFields.Text, Result_Stream);
Result_Stream.position:=0;
Memo1.Lines.Loadfromstream(Result_Stream);
Finally
FreeAndNil(Result_Stream);
FreeAndNil(FormFields);
End;
end;
Jednak w Memo1 zwraca mi kod HTML niezalogowanej strony. Aha... w katalogu z projektem mam biblioteki SSL (libeay32.dll i ssleay32.dll). Ktoś ma jakiś pomysł?