Всем добрый день! Нужно сделать сделать POST запрос средствами WinInet. Создаю следующую процедуру:
| Код | procedure TForm1.Button1Click(Sender: TObject); var ResConnect,ResSession,ResOpenURL :HINTERNET; FileRead :bool; DataBuff,ResHttpOpenReq :pointer; Size,Bytes,hOut :dWord; Head :TStringList; Ansi :PAnsiChar;
begin Head:=TStringList.Create(); Head.Add('Content-type: text/plain; charset=winows-1251'); Head.Add('Content-length: 0'); Head.Add('X-Eport-Auth: point=*****; card="*****-*****"; pin="*********"'); ResConnect:=InternetOpen('TEST',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0); // GetLastError = 0 If ResConnect <> NIL then begin ResSession:=InternetConnect(ResConnect,'dealer.e-port.ru',INTERNET_DEFAULT_HTTPS_PORT,nil,'HTTP/1.0',INTERNET_SERVICE_HTTP,0,0); // GetLastError = 0
if ResSession <> Nil then begin Ansi:='text/* '; ResHttpOpenReq:=HttpOpenRequest(ResSession, 'POST','https://dealer.e-port.ru/cp/dir','HTTP/1.0','',@Ansi,INTERNET_FLAG_SECURE, 0); // GetLastError = 122 //есно следующее не выполняется if not (HttpAddRequestHeaders(ResSession, PChar(Head), Length(PChar(Head)), HTTP_ADDREQ_FLAG_REPLACE or HTTP_ADDREQ_FLAG_ADD or HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA)) then begin ShowMessage('err');Exit;end; InternetCloseHandle(ResHttpOpenReq); InternetCloseHandle(ResSession); end InternetCloseHandle(ResConnect); end Head.Free;
end;
|
Что сдесь не так? Соединение через по https |