Autor Beitrag
Laserzicke
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 17.01.13 13:03 
Moderiert von user profile iconNarses: Abgetrennt von [url=www.entwickler-ecke....?t=88784]hier[/url].

Hallo Zusammen,

hab das gleiche Problem und bin noch nicht ganz so fit in Delphi :-/

Ich habe Ip-Kameras über die man normalerweise per Imagepfad ein Bild laden kann:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
  CamPath:= 'http://guest:guest@192.168.10.10/cgi-bin/guest/Video.cgi?media=JPEG';
  LDestStream := TMemoryStream.Create;
  LHttp := TIdHTTP.Create(nil);
  LHttp.Get(CamPath,LDestStream);
  LHttp.Free;
  LDestStream.Position := 0;
  LDestStream.SaveToFile('c:/tmp/cam1.jpg);

Das geht problemlos mit jeder Kamera, außer diese benötigt eine zusätzliche Bestätigung, und hier ist mein Problem! (Digitus DN-16053)
Den selben Imagepfad in der Adressleiste eines Browsers eingegeben, erscheint anschließend eine MessageBox (Sind sie sicher...mit Benutzername"guest" anmelden wollen?) welche man mit ok bestätigen muss um das Kamerabild zu sehen. Die Frage kommt immer, egal ob "admin" oder "guest". Der Kamerapfad /guest/ ist fest vorgegeben und unabhängig von der Authent.
Was muss ich der URI anfügen, damit das OK mit übergeben wird?


Mein zweiter Versuch per TWebbrowser:
Hier wird das Bild sofort angezeigt:
ausblenden Delphi-Quelltext
1:
webbrowser1.Navigate('http://guest:guest@192.168.10.10/cgi-bin/guest/Video.cgi?media=JPEG');					

Nun möchte ich das angezeigte Bild in eine Datei speichern( s. Oben).
Wie macht man den Screen vom Browser?
Bitte Quelltextbeispiel hinzufügen.
(Im Browser wird nur das Bild angezeigt, sonst nichts weiter)

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Muck
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 98
Erhaltene Danke: 8

Win 8, Win 7, Vista, Win XP
Delphi XE3, Delphi 2009, Delphi 2007, Delphi 5
BeitragVerfasst: Do 17.01.13 19:53 
Hallo,

ich wuerde sages das geht wenn DU diese 4 Zeilen vor Deinem .Get Kommando einfuegst:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
LHttp.Request.BasicAuthentication:=true;
LHttp.Request.UserName:='xxxx';
LHttp.Request.Password:='yyyy';
LHttp.MaxAuthRetries:=1;


Bei xxxx und yyyy natuerlich User und Password einsetzen.

Markus

_________________
Computers are like air conditioners. They work fine until you start opening windows!

Für diesen Beitrag haben gedankt: Laserzicke
Laserzicke Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 18.01.13 08:59 
Hallo Muck,

ich bin begeistert, und ich war schon einmal so nah dran!
Die "BasicAuthentication" und "MaxAuthRetries" hatte ich nicht auf dem Schirm.

Prima, so gehts.
Danke !!!