Problem z Synapse

0

Mam problem z pobieraniem strony. Mam WebServ 2.0 i PHP 5+
wyświetla poprawnie wartość

<!-- DATA BLOCK BEGIN -->
6534633265386564616333363261636162373132333635346239653733343332
<!-- DATA BLOCK END -->

oraz

 <!-- DATA BLOCK BEGIN -->
e4c2e8edac362acab7123654b9e73432
<!-- DATA BLOCK END -->

w FireFox'ie.
W Delphi używam Synapse
napisałem sobie taką funkcje co wysyła zapytanie i odbiera dane (tworzenie komponentu jest przy tworzeniu aplikacji)

function WriteMessage(Method,Address,Data:String;RecData:Boolean):String;
var Str:String;
begin
  HTTP.Document.Clear;
  if UpperCase(Method) = 'POST' then begin
    Data:=StrToHex(Data);
    HTTP.Document.Write(Pointer('data='+Data)^, Length('data='+Data));
    HTTP.MimeType := 'application/x-www-form-urlencoded';
  end;
  HTTP.HTTPMethod(Method,Format('%s/index.php?cmd=%s',[CORE_SERVER,Address]));
  if RecData = True then begin
    SetLength(Str,HTTP.Document.Size);
    HTTP.Document.Write(Str,HTTP.Document.Size);
    ShowMessage(Format('%s %s %d-%d',[Str,#10#13,Length(Str),HTTP.Document.Size]));
    Delete(Str,1,Pos('<!-- DATA BLOCK BEGIN -->',Str)+26);
    Result:=HexToStr(Copy(Str,1,Pos('<!-- DATA BLOCK END -->',Str)-3));
  end;
end;

i nią wysyłam zapytanie metodą GET (WriteMessage('GET','0x000000','',True);).
Jak mam wysłane

 <!-- DATA BLOCK BEGIN -->
6534633265386564616333363261636162373132333635346239653733343332
<!-- DATA BLOCK END -->

to mi wyświetla puste (tak jak by spacjami był zapełniony) mało tego to ucina mi wszystko później (z '%s %s %d-%d' wyświetla tylko pierwszy parametr).
Jednakże jak wysyłam coś takiego

 <!-- DATA BLOCK BEGIN -->
e4c2e8edac362acab7123654b9e73432
<!-- DATA BLOCK END -->

to funkcja zwraca mi ładnie to e4c2e8edac362acab7123654b9e73432 ale jak poprzednio ucina wszystko później.
Nie rozumiem czemu

0

Zwykle ogarniam Synapse, ale tutaj nie wiedząc o jaką konkratnie strone chodzi nie umiem pomóc, bo nie znam praktycznie PHP. Może ktoś inny, w tym być może Misiekd będzie w stanie Tobie pomóc. Mnie nie do końca w tym kodzie podoba się sposób zapisywania wyniku do zmiennej Str, bo o ile dobrze kojarze robi się to raczej tak jak pokazałem w swoim artykule na 4p dotyczącego HTTP oraz Synapse.

0

dobra skorzystałem z tej metody z twojego artu, jednak nie wiem czemu moja metoda przepisywania nie działał poprawnie w pełni nu cóż ważne że działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1