用wininet函数向服务器发送post请求的问题
我想用程序实现网页的提交信息的操作,代码如下,
现在的问题是,无论怎么写,服务端接收到执行的都是Get事件,不是post,
是不是哪里写错了,还是有别的方法,要以post的形式传送数据到服务端
注:只用wininet函数,不用别的控件
procedure TForm1.Button1Click(Sender: TObject);
var
hdrs: PWideChar;
frmdata: PWideChar;
accept: array[0..1] of PWideChar;
hRequest, hSession, hConnect: HINTERNET;
begin
hdrs := 'Content-Type: application/x-www-form-urlencoded'#13#10#13#10;
frmdata := 'name=John+Doe&userid=hithere&other=P%26Q';
accept[0] := 'Accept:*/*';
accept[1] := nil;
// for clarity, error-checking has been removed
hSession := InternetOpenW('MyAgent',
INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
hConnect := InternetConnectW(hSession, 'localhost',
8080, nil, nil, INTERNET_SERVICE_HTTP, 0, 1);
hRequest := HttpOpenRequestW(hConnect, 'POST',
'/JHB', nil, nil, @accept[0], 0, 1);
HttpSendRequestW(hRequest, hdrs, 50, frmdata, 37);
// close any valid internet-handles
end;