0
有沒有人有一個純粹的德爾福片段如何使用Delphi執行一個Web POST,只有原生Delphi 2010功能?沒有Indy或其他第三方模塊執行Delphi POST
有沒有人有一個純粹的德爾福片段如何使用Delphi執行一個Web POST,只有原生Delphi 2010功能?沒有Indy或其他第三方模塊執行Delphi POST
const chunksize = 512; //<--neu
procedure TForm1.Button1Click(Sender: TObject);
var
content,data : string;
accept : string;
buffer :Pchar;
hSession,hConnect,hRequest : HINTERNET;
bytesread:cardinal; //<--edit
name,passwort :string;
begin
GetMem(buffer, chunksize); //<--neu
Name:= 'Loginname';
Passwort :='Passwort';
content := 'Content-Type: application/x-www-form-urlencoded';
data := 'v=2&universe=uni34.ogame.de&login='+Name+'&pass='+Passwort+'&button.x=22&button.y=5';
accept :='*/*';
hSession := InternetOpen('MyAgent',INTERNET_OPEN_TYPE_PRECONFIG,nil, nil,0);
hConnect := InternetConnect(hSession,'uni34.ogame.de', //<--edit
80,nil,nil,INTERNET_SERVICE_HTTP, 0, 1);
hRequest := HttpOpenRequest(hconnect,
'POST',
'game/reg/login2.php',
nil,
nil,
plpstr(accept),
0,1);
httpSendrequest(hRequest,pchar(content),length(content),pchar(data),length(data));
//-->neu+edit<--//
memo1.lines.clear;
repeat
FillMemory(buffer,chunksize,0); //0 wegen null-terminiertem string
InternetReadFile(hRequest,
buffer,
chunksize-1,
bytesread);
memo1.Lines.Text:=memo1.lines.text+Trim(string(buffer));
until bytesread = 0;
FreeMem(buffer);
//-->bis hier<--//
end;
謝謝!我會用這個作爲出發點:) –
WinInet的是一個內置的德爾福模塊? –
不是。它是['Windows的一部分]](http://msdn.microsoft.com/en-us/library/windows/desktop/aa383630(v = vs.85).aspx)。 – TLama