Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];

Вниз

Как передать параметры 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
7-4645
DESANN
2002-09-29 04:04
2002.12.02
Блокировка мыши/клавиатуры


1-4437
Jeka.
2002-11-20 09:14
2002.12.02
---|Ветка была без названия|---


1-4482
BJValentine
2002-11-20 16:19
2002.12.02
FindClose


3-4246
KonstVD
2002-11-14 13:28
2002.12.02
РАЗБИТЬ БОЛЬШУЮ ТАБЛИЦУ НА МЕНЬШИЕ


3-4186
Domkrat
2002-11-12 12:14
2002.12.02
Работа с большими обьемами данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский