Guten Abend,
ich steh vor einem Problem.
In dem Projekt will ich Informationen von einer WebSeite (https)
in eine Stringlist schreiben. Die Daten werden von einem jsp generiert
und bereitgestellt.
Auf der Webseite muß ich mich bevor ich Daten abholen kann anmelden.
Ich dachte eigentlich das ich den Username und das Passwort in dem
Aufruf der Webseite aufnehmen könnte. So z.B.
https://username:passwort@server:8443/nms/alarms.jsp
Da geht aber nicht.
Auch wenn ich den Usernamen und das Passwort in dem
OI bei
idhttp.request eintrage, kann ich mich nicht auf die Webseite anmelden.
Hier mein Sourcecode:
alarm ist vom Typ TidHTTP
SSL mache ich mit dem object TIdSSLIOHandlerSocket mit
folgenden Einstellungen:
SSLOptions.Method = sslvSSLv23
SSLOptions.Mode = sslmClient
SSLOptions.VerifyMode = []
SSLOptions.VerifyDepth = 2
Delphi-Quellcode:
function TForm1.getAlarms(server:String;port:Integer):Boolean;
VAR
stringlist: TStringList;
i:Byte;
found:Boolean;
begin
stringlist:=TstringList.Create;
alarm.Host:=server;
alarm.Port:=port;
try
stringlist.Text:=alarm.get('https://192.168.1.20:8443/nms/alarms.jsp');
// alarmSessionID ermitteln jsessionid
i:=0;
found:=false;
WHILE not found AND (i <= stringlist.Count -1) DO
begin
found:= pos('jsessionid',stringlist.Strings[i]) <> 0;
if found then
begin
alarmSessionID:=copy(stringlist.Strings[i],pos('jsessionid',stringlist.Strings[i])+11,
length(stringlist.Strings[i]));
alarmSessionID:=copy(alarmSessionID,1,pos('''',alarmSessionID)-1);
end;
inc(i);
end;
IF not found then
begin
// scan alarms
FOR i:=1 TO stringlist.Count-1 DO
begin
Stringlist.Strings[i]:=Stringlist.Strings[i];
end;
end;
Auf der WebSeite werden Username und Passwort so abgefragt:
<input type="text" name="j_username" />
Hat jemand eine Idee wie ich es bewerkstelligen kann
mich vor der Abfrage der Daten(Alarme) auf der WebSeite
automatisch anmelden kann?
Grüße
Klaus