Ich versuche ein PHP-Script auszulösen und das Ergebnis der Scriptausführung auszuwerten.
Allerdings funktioniert das nur einmal, beim zweiten mal bekomme ich sofort das Ergebnis der letzten Abfrage, ohne das der Server erwas davon mitbekommt.
Delphi-Quellcode:
begin
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if not Assigned(hSession) then RaiseLastOSError;
try
{ INTERNET_OPTION_BYPASS_EDITED_ENTRY hat auch nichts gebracht }
dwByPass := 1;
InternetSetOption(hSession, INTERNET_OPTION_BYPASS_EDITED_ENTRY, @dwByPass, SizeOf(dwByPass));
hURL := InternetOpenURL(hSession, PChar(sFileURL), nil, 0, INTERNET_FLAG_PRAGMA_NOCACHE, 0);
if not Assigned(hURL) then RaiseLastOSError;
try
dwBufferLen := BufferSize;
repeat
Win32Check(InternetReadFile(hURL, @Buffer, SizeOf(Buffer), dwBufferLen));
Stream.Write(buffer, dwBufferLen);
until dwBufferLen = 0;
Stream.Seek(0, soFromBeginning);
finally
InternetCloseHandle(hURL);
end;
finally
InternetCloseHandle(hSession);
end;
end;
Wenn ich die Anwendung neu starte, funktioniert es scheinbar erneut genau einmal.
Jemand eine gute Idee?