Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.02;
Скачать: CL | DM;

Вниз

Как передать параметры GET методом с помощью WinInet?   Найти похожие ветки 

 
LSW ©   (2002-10-04 22:42) [0]

Подскажите пожалуйста как можно передать CGI скрипту данные GETом в доках нашел только POST вот строчка.
InternetOpenURL(hHttpSession," http://www/cgi-bin/myCGI.exe?myParam",nil,0,0,0);
Может кто знает ? Компоненты с FastNet использовать не хочется. Зарание спасибо


 
int64 ©   (2002-10-05 01:22) [1]

В таком случае, не надо вешать изменения на onMouseMove.
И смю сюда:
http://delphi.mastak.com/cgi-bin/forum.pl?look=1&id=1033634530&n=5


 
int64 ©   (2002-10-05 01:23) [2]

Не попал в ветку. Скз.


 
int64 ©   (2002-10-05 02:30) [3]

Думаю, сейчас попал правильно :)

function WinINetPostData(Url: string; const Data : string): string;
const
sHeader = "Content-Type: application/x-www-form-urlencoded" + #13#10;
var
hInternetOpen,
hInternetConnect,
hHttpOpenRequest : HINTERNET;
Buffer: array[0..1024] of char;
BytesRead: cardinal;
sServer, sScript : string;
begin
Result := "";
// Parse out stuff
if Pos("http://", Url) > 0 then
Delete(Url, 1, Length("http://"));
sServer := Copy(Url, 1, Pos("/", Url) - 1);
sScript := Copy(Url, Pos(sServer, URL) + Length(sServer), Length(Url));
// Initialize WINET
hInternetOpen := InternetOpen("http generic", INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if Assigned(hInternetOpen) then
begin
try
// Connect to server
hInternetConnect := InternetConnect(hInternetOpen, PChar(sServer), 80,
nil, "HTTP/1.0", INTERNET_SERVICE_HTTP, 0, 0);
if Assigned(hInternetConnect) then
begin
try
// Start requesting page
hHttpOpenRequest := HttpOpenRequest(hInternetConnect, "POST", PChar(sScript), "HTTP/1.0", "", "text/*", INTERNET_FLAG_RELOAD, 0);
if Assigned(hHttpOpenRequest) then
begin
try
// Add headers/form info
HttpAddRequestHeaders(hHttpOpenRequest, sHeader, Length(sHeader), HTTP_ADDREQ_FLAG_REPLACE or HTTP_ADDREQ_FLAG_ADD);
HttpSendRequest(hHttpOpenRequest, nil, 0, PChar(Data), Length(Data));
// Download junk
FillChar(Buffer, SizeOf(Buffer), 0);
repeat
Result := Result + Buffer;
FillChar(Buffer, SizeOf(Buffer), 0);
InternetReadFile(hHttpOpenRequest, @Buffer, SizeOf(Buffer), BytesRead);
until BytesRead = 0;
finally
InternetCloseHandle(hHttpOpenRequest);
end;
end else
EPostDataError.Create("Unable to request page!");
finally
InternetCloseHandle(hInternetConnect);
end;
end else
EPostDataError.Create("Unable to connect to server!");
finally
InternetCloseHandle(hInternetOpen);
end;
end else
raise EPostDataError.Create("Unable to initialize Wininet");
end;

Разница между POST и GET задаётся в HttpOpenRequest.

P.S. Может лучше FastNet?


 
LSW ©   (2002-10-05 11:23) [4]

Спасибо за пример



Страницы: 1 вся ветка

Текущий архив: 2002.12.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
14-4586
vopros
2002-11-11 09:17
2002.12.02
Эпопея или любовные похождения продолжаються


1-4364
New_Proger
2002-11-21 22:14
2002.12.02
Нетипизированный файл


1-4477
котел
2002-11-20 13:26
2002.12.02
помощь


1-4388
Пташка
2002-11-22 11:06
2002.12.02
Помогите с решением!


1-4401
p_albert77@mail.ru
2002-11-16 12:58
2002.12.02
Calvert, Konopka and Swan