POST WinInet

0

Witam, mam problem, otóż chcę wysłać dane do formularza php na serwerze za pomocą metody POST, jednak nic nie dochodzi, może wy będziecie w stanie mi pomóc.

Mój kod z delphi

uses WinInet;
...

procedure TForm1.Button4Click(Sender: TObject);
var
  hNet,hURL,hRequest: HINTERNET;
begin
  hNet := InternetOpen(PChar('User Agent'),INTERNET_OPEN_TYPE_PRECONFIG or INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if Assigned(hNet) then
  begin
  try
    hURL := InternetConnect(hNet,PChar('http://localhost/delphi/test.php'),INTERNET_DEFAULT_HTTP_PORT,nil,nil,INTERNET_SERVICE_HTTP,0,DWORD(0));
    if(hURL<>nil) then
      hRequest := HttpOpenRequest(hURL, 'POST', PChar('test=test'),'HTTP/1.0',PChar(''), nil, INTERNET_FLAG_RELOAD or INTERNET_FLAG_PRAGMA_NOCACHE,0);
    if(hRequest<>nil) then
      HttpSendRequest(hRequest, nil, 0, nil, 0);
    InternetCloseHandle(hNet);
  except
      ShowMessage('blad');
    end
  end;
end;

Mój skrypt w php

<?php
$dane = $_POST['test'];
$file = "test.txt";
$fp = fopen($file, "a");
flock($fp, 2);
fwrite($fp, $dane);
flock($fp, 3);
fclose($fp); 
?>

Z góry dziękuję za pomoc.

Pozdrawiam noxwow

0

Czytaj uważnie forum ja już pisałem o tym i nikt nie raczył odpowiedzieć, wiem tylko tyle, że nie dochodzi do formularza nic metodą POST :(

0

Czytaj uważnie forum ja już pisałem o tym i nikt nie raczył odpowiedzieć, wiem tylko tyle, że nie dochodzi do formularza nic metodą POST :(

0

spróbuj

HttpSendRequest(hRequest, PChar('Content-Type:application/x-www-form-urlencoded'), 0, nil, 0);
0

Niestety nic, ale mam wrażenie jakby program w ogóle się nie łączył, sprawdzałem logi z Apache i tylko jest jak ja przez przeglądarkę wchodzę.

Pozdrawiam noxwow

0

a musi to być wininet?? W synapse śmiga aż miło

0

Zależało by mi na tym, ponieważ piszę DLL, jednak jeżeli biblioteka nie będzie ważyć dwa razy tyle to może być te synapse.

Pozdrawiam noxwow

EDIT ---
Pobrałem synapse (fajne biblioteki) i faktycznie działa bez problemowo, tylko, że w Delphi 2010 na Windows 7 nie trybi tak jak ma - łączy się jednak nie wysyła POST. Sprawdziłem na Delphi 7 na Windowsie XP i tam już dochodzi pakiet. Jest może jakiś sposób aby działało to na D2010 i W7 ?

Pozdrawiam noxwow

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