Die kompletten HTTP vom Server wären interessant.
Mit
IdHTTP2.Request.URL
als
URL zu arbeiten ist auch nicht ganz sinnvoll, während der Authentisierung wird dieser Wert überschrieben IdHTTP.DoRequest():
Delphi-Quellcode:
wnAuthRequest:
begin
Request.URL := AURL;
end;
Vielleicht hilft es schon
IdHTTP2.Request.Connection := 'Keep-Alive';
zu setzten.
Also du könntest es mal versuchen zwischen den beiden Requests
IdHTTP2.Request.Authentication.Next
aufrufen.
Innerhalb der
unit IdAuthenticationDigest
gibt es die
Authentication Funktion. Die ist ganz interessant.
Intern wird über ein Zähler
FCurrentStep der aktuelle Schritt gesetzt. Wenn du also deinen ersten Request absetzt, dann wird von der TIdHTTP Komponente über die TIdDigestAuthentication Komponente mittels der Funktion
Authentication der Authentication Header erzeugt und
FCurrentStep auf 0 gesetzt.
Beim nächsten Request ist dann
FCurrentStep noch bei 0 und es wird als Authentication Header nur "Digest" zurückgegeben.
Am besten du gehst mit dem Debugger mal ganz langsam durch den Code.
EDIT:
Der nächste Request muss so aussehen, dass du [...] nc=00000002 [...] überträgst:
http://en.wikipedia.org/wiki/Digest_...th_explanation ::
Zitat:
For subsequent requests, the hexadecimal request counter (nc) must be greater than the last value it used