Einzelnen Beitrag anzeigen

DavidKlimas

Registriert seit: 24. Sep 2006
Ort: Arlon, Belgien
71 Beiträge
 
#1

HTTP_QUERY_LOCATION gibt leeren String aus

  Alt 27. Mär 2013, 20:03
Guten Abend alle zusammen.

Ich hab eine Funktion die überprüft ob eine URL existiert und mit die exakte URL zurückgibt (im fall einer weiterleitung). Leider ist der wert immer leer. Woran kann der fehler liegen ?

Delphi-Quellcode:
var
  hSession, hfile: hInternet;
  infoBuffer: array [0..512] of char;
  infoBuffer2: array [0..512] of char;
  dummy: DWORD;
  bufLen: DWORD;
Delphi-Quellcode:
  hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if assigned(hsession) then
  begin
    hfile := InternetOpenUrl(hsession,PChar(url),nil,0, INTERNET_FLAG_NO_UI,0);
    {Get Validation}
    dummy := 0;
    bufLen := Length(infoBuffer);
    HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @infoBuffer[0], bufLen, dummy);
    result := (infoBuffer ='200') or (infoBuffer ='302');
    if result then
    begin
      {Get Link}
      dummy := 0;
      bufLen := Length(infoBuffer2);
      HttpQueryInfo(hfile, HTTP_QUERY_LOCATION, @infoBuffer2, bufLen, dummy);
      URL := infoBuffer2;
    End;
    if assigned(hfile) then InternetCloseHandle(hfile);
    InternetCloseHandle(hsession);
  end;
Danke für die Hilfe.
  Mit Zitat antworten Zitat