Może mi ktoś inteligentny powiedzieć jak połączyć się ze stroną przez protokół SSL w Indy? Konkretnie chciałbym napisać program do szybkiej rejestracji na np wp.pl i potrzebuję porady. Otóż, normalnie do komunikacji z dowolną stroną wystarczało
TIdHTTP i było po sprawie. Jednak teraz sypią się alerty po wykonaniu kodu: "
IOHandler value is not valid. więc pewnie chodzi o to, że trzeba się łączyć przez protokół SSL. No spoko, przecież Indy posiada takie komponenty - pomyślałem.
Oto kod:
- Kod: Zaznacz cały
// HTTP to oczywiście TIdHTTP;
HTTP->Request->AcceptLanguage = "pl";
HTTP->Request->UserAgent = "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)";
HTTP->Request->Pragma = "no-cache";
HTTP->Request->ContentType = "application/x-www-form-urlencoded";
HTTP->HandleRedirects = true;
HTTP->Request->Host = "https://profil.wp.pl/rejestracja.html";
HTTP->URL->Host = HTTP->Request->Host;
AnsiString Answer = HTTP->Get(HTTP->Request->Host);
ShowMessage(Answer);
Ale widać się przeliczyłem. W związku z błędem, dodałem na formę nowy komponent klasy TIdSSLIOHandlerSocketOpenSSL. Nazwałem go SSL. Do komponentu
HTTP dodałem w event "IOHandler" =
SSL i nic nie konfigurowałem. Czas na próbę. To teraz mam już inny alert po wykonaniu kodu: "
Could not load SSL library.". No wtf

? Jeszcze coś nie tak? Czego ty nie możesz załadować? Wkurzyłęm się i pytam google co ono na to. I otrzymuję rezultat - "wgraj pliki
libeay32.dll and
ssleay32.dll". No skoro tak to je pobrałem z internetu i wrzuciłem do katalogu mojego projektu. Następna próba. Teraz program płacze o "vsinit.dll", no to znowu bajka z google od nowa. Po pobraniu i umieszczeniu w katalogu projektu czas na test. Program tym razem po wykonaniu kodu wita mnie z wrednym uśmiechem - "
Access violation at address 00000000. Read of address 00000000.". I to jest już koniec tej opowieści o nokii 5130

No i kto by się nie wq..? Po co indy daje te głupie komponenty do SSL skoro one nie działają? No chyba, że to ja jestem głupi więc proszę o oświecenie. Używam C++ Builder 2009 na Win7.