Как отправить HTTP-запрос POST в Delphi с помощью WinInet api

Я пытаюсь сделать HTTP-запросы от Delphi, используя функции WinInet.

Пока что у меня есть:

function request:string;
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://example.com'),INTERNET_DEFAULT_HTTP_PORT,nil,nil,INTERNET_SERVICE_HTTP,0,DWORD(0));
    if(hURLnil) then
      hRequest := HttpOpenRequest(hURL, 'POST', PChar('param=value'),'HTTP/1.0',PChar(''), nil, INTERNET_FLAG_RELOAD or INTERNET_FLAG_PRAGMA_NOCACHE,0);
    if(hRequestnil) then
      HttpSendRequest(hRequest, nil, 0, nil, 0);
    InternetCloseHandle(hNet);
  except
    on E : Exception do
      ShowMessage(E.ClassName+' error raised, with message : '+E.Message);
  end;
  end
end;

Но это неничего не делаю (я слежу за сетевым http-трафиком, чтобы посмотреть, работает ли он). Я успешно использовал InternetOpenURL, но мне также нужно отправить запрос POST, и эта функция несделать это.

Может ли кто-нибудь показать мне простой пример? В результате я хочу получить страницу ответа http в виде var в виде строки.

Ответы на вопрос(3)

Ваш ответ на вопрос