| Программирование под linux, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
реализация Pop3/Smtp без VCL., Kol Отправка сообщения, локальная сеть Хочу сделать свою аську. Поделитесь опытом., Можно переделать чужую. Игра, Компонент Метод POST, Нада передовать скрипту на сервере данны Убрать и показать иконки на Desctop'е., ---------------------------- Delphi и сотовая связь отправка данных формы Прием и отображение информации, протокол HTTP Узнать город или регион... Indy Mail Demo Отправка SMS?, Как пишутся программы для отправки SMS? Сервер игры, странная штука... Как отключиться от Интернета? FTP сервер без использования спец. компонентов Трафик UDP ???, Как получить??? Вопрос по поводу TStringGrid Как получить список всех компов в сети и... Функция получения результатов POST(GET) в Delphi, Нужна помощь !!! TFileStream, Срочно Как узнать?, IP или Нет Эмулятор сети, D7 отлов пакетов плчты в интернет Proxy и DirectPlay, Реально ли на Delphi написать http прокс Как Вы относитесь к курящим девушкам? Узнать IP, TIdTCPServer Отловить все ошибки TServerSocket Как сделать TexOut прозрачным?, есть ли transparent отправка почты без Outlook Express IHtmlDocument2, activeElement, Как найти следующий после activeElement help ! Kak sozdat server dlya inerneta ? Помогите написать чат для локалки, Перерыла весь Инет, но ничего дельного.. Проблема с Client Socket, Server Socket Нужна инфа по InterWeb Отправка почты Indy SMTP Client протоколы почтовых серверов Ошибка при обращении к web-сервису Звук системным динамиком... Кол - во байт через порт Вопрос по названию интерфейса !, MS TCP Loopback interface XModem, XModem, YModem TCppWebBrowser и фокус Узнать имена подключившихся процессов. Количество переданныхи полученных байт, Помогите !!! У меня проблемма с Indy UDP, IdUDPServer1UDPRead не работает Работа с TIdTCP, помагите разобратся Перехват информации с сетевого порта Как зная IP определить адрес help-rus Хочется перейти к новому и интересному Отправка переменной через тсп, без постоянного подлкючения Определение IP Нужно получить результат работы POST(GET) запроса, POST ( GET) запрос Delphi 7> New > Other > Intra web > Isapi Appl., Что надо менять для нотрмальной работы Компоненты Indy IdPOP3 и IdSMTP как создать бота для vypress chat 2.0 на delphi ?, как создать бота для vypress chat 2.0 на Связь с телефоном Обмен файлами, нужен хороший пример Скорость подключения по Dial-Up???, Очень нужно!!! Вопрос по поводу процедур Bind Shell, Без Pipes Сканирование портов Русская документация для INDY Поисковик локальных серверов, Поисковик локальных серверов проги Передача больших файлов Скачивание файла. Подскажите! Вопрос по RAS-соединению, Как начать коннект повторно? idhttp проблема с кодировкой... Как Вы относитесь к курящим девушкам? |
Платные хостинги Раскрутка сайта Книги по программированию Функция получения результатов POST(GET) в Delphi, Нужна помощь !!!
- Доброго времени !Мне срочно нужно написать для диплома 2 функции. Первая - посылает POST запрос на сервер и в отдельный файл или переменную возвращает HTML документ который возвращается при ответе сервера на последний запрос, а вторая - аналогичная первой только с разницей в том что тут нужно вернуть результат GET запроса. Помогите кто чем может !!!Заранее спасибо !! - Ну тебе что-то вроде такого нужно:Код unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, Wininet, StdCtrls;const HTTP_PORT = 80; CLRF = #13#10; Header = 'Content-Type: application/x-www-form-urlencoded' + CLRF;type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); end;var Form1: TForm1;implementation{$R *.dfm}function DelHttp(URL: String): String;begin if Pos('http://', URL) > 0 then Delete(Url, 1, 7); Result := Copy(Url, 1, Pos('/', Url) - 1); if Result = '' then Result := URL;end;function 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 Exit; try // Попытка соединения с сервером FConnect := InternetConnect(FSession, PChar(FHost), HTTP_PORT, nil, 'HTTP/1.0', INTERNET_SERVICE_HTTP, 0, 0); if not Assigned(FConnect) then Exit; try // Подготавливаем запрос страницы Ansi := 'text/*'; FRequest := HttpOpenRequest(FConnect, 'GET', PChar(FScript), 'HTTP/1.0', '', @Ansi, INTERNET_FLAG_RELOAD, 0); if not Assigned(FConnect) then Exit; try // Добавляем заголовки if not (HttpAddRequestHeaders(FRequest, Header, Length(Header), HTTP_ADDREQ_FLAG_REPLACE or HTTP_ADDREQ_FLAG_ADD)) then Exit; // Отправляем запрос if not (HttpSendRequest(FRequest, nil, 0, nil, 0)) then Exit; // Получаем ответ 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;procedure TForm1.Button1Click(Sender: TObject);begin Memo1.Text := GetUrl('www.delphimaster.ru');end;end.highlightSyntax('delphiTMwYjU','delphi'); Добавлено @ 11:21 Правда запрос в данном примере лучше ручками подготавливать. Так оно надежней будет. - [яуоте=Дельфин, 23.4.2005, 23:56]Мне срочно нужно написать для диплома 2 функции.[/яуоте]Тебе их нужно именно написать? Или они просто нужны тебе для диплома?Стандартные IdHTTP.POST и IdHTTP.Get разве не подойдут? - Я пробовал с помощью IdHTTP.POST и IdHTTP.Get работать. Но после запуска у меня зависает сначала программа , а потом и система. Опиши как бы ты использовал эти функции на моем месте. Может я что-то не понимаю ? Спасибо за отзыв. - Ну стандартный пример такой:Код var http: TIdHttp; s: string;begin http:=TIdHttp.Create(nil); s:=http.Get('http://www.www.ru/script?bb=mm'); http.Free;end;highlightSyntax('delphiwZjc1Y','delphi');В результате выполнения этого кода будет выполнен указанный GET запрос, а страничка-результат будет помещена в s. Возможен вариант с использованием Tstream. Как удобней, смотри сам. - ну нет такого хоста. и что? - Я ж пример привел. Вместо http://www.www.ru/script?bb=mmПиши существующий адрес и будет тебе щастя.А вот так не будет вылетать, даже, если адрес некорректный:Код var http: TIdHttp; s: string; begin http:=TIdHttp.Create(nil); try s:=http.Get('http://www.mail.ru/'); except end; http.Free; end;highlightSyntax('delphijY2RhM','delphi'); - Модератор: Один топик - один вопрос. Тема зактрыта. |