Einzelnen Beitrag anzeigen

TheThrust

Registriert seit: 30. Jan 2008
19 Beiträge
 
#1

indy IdHttp post response nicht lesbar

  Alt 29. Jul 2011, 18:20
Guten abend leute,

Ich benutze folgende Funktion um mit der indy IdHttp komponente post requests zu senden
Code:
procedure TForm1.PostData(lparams : TStringList; post_url, referer: string);
var
  i : integer;
  str : TStringList;
  s : TStrings;
begin
    s := TStringList.Create;
    str := TStringList.Create;
    for i:= 0 to lparams.Count -1 do
    begin
      str := split(lparams.Strings[i], '&&&');
      if str.Count >= 2 then s.Append(str.Strings[0]+'='+str.Strings[1])
      else s.Append(str.Strings[0]+'=');
    end;
    with web do
    begin
      try
        web.Request.Referer := referer;
        res := web.Post(post_url, s);
        log(web.ResponseText);
        log(IntToStr(web.Response.ContentLength));
      except
        if not(web.Response.ResponseCode = 302) then log('unbekannter Fehler aufgetreten!');
      end;
    end;
end;
Alles funktioniert auch eigentlich einwandtfrei, bekomme einen 200 statuscode (nach zweimaligem redirect) zurück, Wireshark hat alles korrekt mitgeschnitten und keine probleme zu sehen soweit.

Nun versuche ich allerdings ganz simpel mittels
Code:
memo1.Text := res;
die response in ein memo zu schreiben.

Im memo befindet sich nur ein eiziges zeichen, das im ascii satz entweder nicht vorhanden ist oder zumindest hier nicht darstellbar
Code:
‹
Es existiert jedoch (wie ja auch schon durch wireshark bestätigt) ein content.
Code:
web.Response.ContentLength
gibt über 6000 zeichen im content an

Wie kann es sein, dass ich nichts (fast nichts) sehe, diese funktion habe ich bereits vor einem Jahr erfolgreich benutzt (allerdings in anderem context)

Wenn weitere infos nötig sind bitte sofort bescheid sagen, ich habe alles so genau wie möglich beschrieben...

Vielen dank schon mal im Voraus
TheThrust
  Mit Zitat antworten Zitat