Einzelnen Beitrag anzeigen

Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#2

AW: idHTTP Komponente

  Alt 19. Jan 2016, 21:23
Hallo strom,

du musst den IOHandler initialisieren:

idHTTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil); Ich würde es eher so machen:
Delphi-Quellcode:
var
  params: TStringList;
  request, content, response: string;
  // i: Integer;
begin
  IdHTTP1.request.Charset := 'utf-8';
  IdHTTP1.request.BasicAuthentication := true;
  IdHTTP1.request.Username := '******';
  IdHTTP1.request.Password := '******';
  IdHTTP1.request.ContentType := 'application/x-www-form-urlencoded';
  IdHTTP1.request.Host := '192.168.0.69';

  params := TStringList.Create;
  try
    params.Add('type=pocsag');
    params.Add('address=1234567');
    params.Add('flags=0');
    params.Add('function=a');
    params.Add('message=hallo1111');

    response := IdHTTP1.Post('http://192.168.0.69/telegramin/alarmgeber/input.xml', params); // Hier ist der POST-Request
  finally
    params.Free;
  end;
end;
Mit dem ganz neuen Indy Build wird der IOHandler jetzt auch automatisch initialisiert (ich glaube aber nur wenn man dies über die GET, POST, ... Funktionen abwickelt).

Siehe auch: http://www.delphipraxis.net/160152-i...protokoll.html

EDIT: Ich habe gerade nachgeschaut. Wie ich schon sagte, mit den neuen Indy's wird der IOHandler automatisch erstellt (Typ: TIdSSLIOHandlerSocketBase; siehe: CheckAndConnect()). Dies wird aber erst durch ConnectToHost() und dies durch DoRequest() aufgerufen, welches die ganzen GET, POST, HEAD usw. bündelt. Also allein die Erzeugung der TIdHTTP Komponente reicht nicht aus (was ich schon sagte).
Sebastian

Geändert von geskill (19. Jan 2016 um 21:50 Uhr)
  Mit Zitat antworten Zitat