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

Вниз

post   Найти похожие ветки 

 
Prankster ©   (2004-05-07 23:56) [0]

как отправить http-post запрос скрипту?


 
easy ©   (2004-05-08 13:15) [1]

http://www.sources.ru/delphi/internet/posting_webform.shtml


 
Rouse_ ©   (2004-05-08 13:28) [2]

// Вот здесь и идет запрос
function TFWGetThread.GetUrl(const URL: String): String;
var
 FSession, FConnect, FRequest: HINTERNET;
 FHost, FScript: String;
 Ansi: PAnsiChar;
 Buff: array [0..1023] of Char;
 BytesRead: Cardinal;
begin
 Result := "";
 // Небольшой парсинг
 // вытаскиваем имя хоста и параметры обращения к скрипту
 FHost := DelHttp(Url);
 FScript := Url;
 Delete(FScript, 1, Pos(FHost, FScript) + Length(FHost));

 // Инициализируем WinInet
 FSession := InternetOpen("DMFR", INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
 if not Assigned(FSession) then
 begin
   ReportString := "Unable to initialize Wininet";
   Synchronize(Error);
   Exit;
 end;
 try
   // Попытка соединения с сервером
   FConnect := InternetConnect(FSession, PChar(FHost), HTTP_PORT, nil,
                               "HTTP/1.0", INTERNET_SERVICE_HTTP, 0, 0);
   if not Assigned(FConnect) then
   begin
     ReportString := "Unable to connect to server!";
     Synchronize(Error);
     Exit;
   end;
   try
     // Подготавливаем запрос страницы
     Ansi := "text/*";
     FRequest := HttpOpenRequest(FConnect, "POST", PChar(FScript), "HTTP/1.0",
                                 "", @Ansi, INTERNET_FLAG_RELOAD, 0);
     if not Assigned(FConnect) then
     begin
       ReportString := "Unable to request page!";
       Synchronize(Error);
       Exit;
     end;
     try
       // Добавляем заголовки
       if not (HttpAddRequestHeaders(FRequest, Header, Length(Header),
                                     HTTP_ADDREQ_FLAG_REPLACE or
                                     HTTP_ADDREQ_FLAG_ADD)) then
       begin
         ReportString := "Unable add headers/form info.";
         Synchronize(Error);
         Exit;
       end;
       // Отправляем запрос
       if not (HttpSendRequest(FRequest, nil, 0, nil, 0)) then
       begin
         ReportString := "Unable send reqest.";
         Synchronize(Error);
         Exit;
       end;
       // Получаем ответ от форума
       FillChar(Buff, SizeOf(Buff), 0);
       repeat
         Result := Result + Buff;
         FillChar(Buff, SizeOf(Buff), 0);
         InternetReadFile(FRequest, @Buff, SizeOf(Buff), BytesRead);
       until BytesRead = 0;
     finally
       InternetCloseHandle(FRequest);
     end;
   finally
     InternetCloseHandle(FConnect);
   end;
 finally
   InternetCloseHandle(FSession);
 end;
end;


Ну и отсюда разруливай...
да, uses WinInet, конечно :)


 
Rouse_ ©   (2004-05-08 13:39) [3]

> easy ©   (08.05.04 13:15)
Дим, кстати заметь, в коде по твоей ссылке имеется вероятность хорошего такого бряка приложения ...



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

Форум: "Сети";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.035 c
14-1087179806
RealRascal
2004-06-14 06:23
2004.07.04
АСЯ:Вирусня? Или просто СПАМ?


14-1087145399
able
2004-06-13 20:49
2004.07.04
google.ru


1-1087299040
mmb
2004-06-15 15:30
2004.07.04
Как перехватить вывод в stdin из функции загруженной из DLL


14-1087193128
Rule
2004-06-14 10:05
2004.07.04
Как Вы относитесь к максималистам ... ?


4-1084443548
Ozone
2004-05-13 14:19
2004.07.04
Модем





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский