[Delphi] IdHttp + SSL

0

Witam
szukam już wiele godzin metody na pobranie strony zaszyfrowanej typu https. Jakoś nie mogę znaleźć nic. A jak już coś znajdę to u mnie nie działa już.

Może ktoś dać jakąś rade? przykładzik? informacje gdzie takie coś znajdę? albo sformujcie mi zapytanie do google, bo ja już niemam pomysłów co mogę wpisywać.

0

hie hie, informacje... hmm wbiłem w google "idhtpp ssl"

informacje są dla Indy10 ale może dla 9 też tak jest, potrzebna jest dll'ka z SSL'em, kontrolka IdSSLIOHandlerSocketOpenSSL, zapewne jest na zakładce IOHandlers, podpiąć ją pod IOHandler IdHTTP i podobno działa =]

0

Mam taki kodzik:

procedure TForm1.Button1Click(Sender: TObject);
var
  ms : TStringStream;
begin
 ms:=tStringStream.Create('');
  IdHttP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
 IdSSLIOHandlerSocketOpenSSL1.DefaultPort:=443;
 IdSSLIOHandlerSocketOpenSSL1.Port:=443;
 IdSSLIOHandlerSocketOpenSSL1.Host:='https://addons.mozilla.org';
 IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode:=sslmClient;

//if IdSSLIOHandlerSocketOpenSSL1.Connected then
 begin
 IdHttp1.Get('https://addons.mozilla.org/pl/firefox/',ms);
 Memo1.Text:=ms.DataString;
 ShowMessage('');
 end;
end;

I mi nie działa :( a gdy włącze linie która jest w komentarzu to nie wchodzi do begin...end

Jak zrobić żebym mógł pobierać strony SSL

0

piaty wynik z googla dla "idhttp ssl" =]

procedure TForm1.Button1Click(Sender: TObject);
var
stringStream: TIdStringStream;
postStrings: TidStringList;
postResult: string;
begin
postStrings := TIdStringList.Create;
try
postStrings.LineBreak := '&';
postStrings.Values['Email'] := 'email';
postStrings.Values['Passwd'] := 'passwod';
postStrings.Values['service'] := 'cl';
postStrings.Values['source'] := 'company-program-version';

stringStream := TIdStringStream.Create(postStrings.Text);
try
IdHTTP1.Request.ContentType := 'application/x-www-form-
urlencoded';
postResult := IdHTTP1.Post('https://www.google.com/accounts/
ClientLogin', stringStream);
Memo1.Lines.Add(postResult);
finally
stringStream.Free;
end;
finally
postStrings.Free;
end;
end;

i pod spodem notka że na najnowszym Indy 10 + najnowsza dll z SSL działa =]


ahhaha =D

"if IdSSLIOHandlerSocketOpenSSL1.Connected"
jeśli połączone to...
a gdzie jest łączenie ? =D

0

Tylko że w INDY10 <ort>NIE MA</ort>: TIdStringStream, TidStringList, *.LineBreak.

Jeśli ktoś ma jakiś kod który sprawdzał to niech wrzuci. Może to coś z moim INDY bo tyle przykładów nie działało :(

0
drop a button, a Tidhttp, TIdSSLIOHandlerSocketOpenSSL, and a TMemo on 
the 
form.  Set the IOHandler for IDHTTP to the 
IdSSLIOHandlerSocketOpenSSL1. 
Then in the button's OnClick event do the following:
procedure TForm1.Button1Click(Sender: TObject); 
var 
  stringStream: TIdStringStream; 
  postStrings: TidStringList; 
  postResult: string; 
begin 
  postStrings := TIdStringList.Create; 
  try 
    postStrings.LineBreak := '&'; 
    postStrings.Values['Email'] := 'email'; 
    postStrings.Values['Passwd'] := 'passwod'; 
    postStrings.Values['service'] := 'cl'; 
    postStrings.Values['source'] := 'company-program-version'; 
    stringStream := TIdStringStream.Create(postStrings.Text); 
    try 
      IdHTTP1.Request.ContentType := 'application/x-www-form- 
urlencoded'; 
      postResult := IdHTTP1.Post('https://www.google.com/accounts/ 
ClientLogin', stringStream); 
        Memo1.Lines.Add(postResult); 
    finally 
      stringStream.Free; 
    end; 
  finally 
    postStrings.Free; 
  end; 
end; 

>> Owy piąty link <<

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