Главная страница
    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.04 c
14-1087195534
syte_ser78
2004-06-14 10:45
2004.07.04
Уже несколько раз спрашивал, но никто так и не ответил


1-1087509663
CyberSpy
2004-06-18 02:01
2004.07.04
DirectoryListBox


8-1082385049
Insight
2004-04-19 18:30
2004.07.04
OpenGL для Delphi-7 с функциями инициализации


1-1087497524
lelik
2004-06-17 22:38
2004.07.04
свойства файла


3-1086611545
Serg7077
2004-06-07 16:32
2004.07.04
InterBase & Firebird проблема совместимости





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