Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

POST запрос при помощи WinInet


vcdima ©   (2006-10-31 14:18:00) 

Доброго всем времени суток!

Стоит задача отправить POST запрос по SSL при помощи WinInet. Т.е. нужно cэмитировать форму.

<form name=form1 method=post action='https://….’ >

Если использовать обычную форму, приходит нормальный ответ от сервера. При помощи WinInet, в ответе - контент сайта. Похоже, сервер не понимает, что это POST запрос, а обрабатывает его просто как запрос на открытие страницы. В чем может быть дело?

 AcceptTypes : array [0..1] of pchar = ('*/*',nil);
 Headers := 'Content-Type: application/x-www-form-urlencoded';

 FSession:=InternetOpen(pchar(Agent),INTERNET_OPEN_TYPE_PRECONFIG ,nil,nil,0);

 FConnect:=InternetConnect(FSession,pchar(Server), INTERNET_DEFAULT_HTTPS_PORT ,nil,nil,INTERNET_SERVICE_HTTP,0,0);

 hRequest:=HttpOpenRequest(FConnect,'POST', Pchar(Url), 'HTTP/1.0' ,nil,@AcceptTypes,
    INTERNET_FLAG_RELOAD or INTERNET_FLAG_SECURE or INTERNET_FLAG_IGNORE_CERT_CN_INVALID or INTERNET_FLAG_IGNORE_CERT_DATE_INVALID,0);

Buffer:=HttpEncode(Request);

HttpSendRequest(hRequest,Headers, length(Headers),pchar(Buffer),StrLen(pchar(Buffer)));

HttpQueryInfo(hRequest,HTTP_QUERY_STATUS_CODE or HTTP_QUERY_FLAG_NUMBER,@Status,Size,Res);

InternetQueryDataAvailable(hRequest,Size,0,0)

SetLength(Buffer,Size);
InternetReadFile(hRequest,pchar(Buffer),Size,Size)


Gero   (2006-10-31 16:30:00) [1]

> Если использовать обычную форму, приходит нормальный ответ
> от сервера.

Нормальный — это какой?


YuRock   (2006-10-31 15:49:00) [2]

Это что - статья? :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо