Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос POST [D7]


Neket ©   (2006-12-13 10:33:00) 

Необходимо делать на сервер POST запрос на который сервер дает ответ в виде маленького XML кода. Подскажите чем лучше воспользоваться для выполнения этого запроса и получения ответа на этот запрос?
TCPClient-ом (либо подобными команентами) пользоваться не хочется потому как придется ещё в тексте запроса указывать всякую служебную информацию.


Dmitrij_K   (2006-12-14 12:01:00) [1]


> Neket   (14.12.06 11:42) [13]
> > А TIdHTTP XML понимает?


TIdHTTP работает с потоком данных, ему фиолетово xml, html, zip, exe и тд.

ЗЫ
Спасибо за лекцию, для меня ничего нового не написал.
За ссылку отдельная благодарность.


Neket   (2006-12-14 11:42:00) [2]

2 Dmitrij_K: Да причем тут формат файла :-) :-) :-) :-) :-)
Если XML это открытый язык разметки (Extensible Markup Language, XML) представляет собой подмножество SGML. Предназначением его является обеспечить обслуживание, получение и обработку общего языка SGML в Web так же, как сейчас это происходит с языком HTML. Язык XML разработан для упрощения реализации и взаимодействия между SGML и HTML. Если интересно почитай здесь ( http://www2.stack.ru/~julia/XML/REC-xml-19980210.html)
P.S. Я это к чему... Если кто-то не понимает о чем идет речь то господа лучше промолчите.
Кстати вопрос остается открытым.
> А TIdHTTP XML понимает?


Dmitrij_K   (2006-12-13 16:38:00) [3]


> А TIdHTTP XML понимает?

Понимает все. И китайский тоже.
А вообще глупейший вопрос. Протокол HTTP работает с данными, а не с конкретными форматами файлов.


Neket   (2006-12-13 16:33:00) [4]

Ок... Спасибо... Да и ещё тогда падонкаФский вопрос...
А TIdHTTP XML понимает?


Плохиш   (2006-12-13 15:00:00) [5]


> Dmitrij_K   (13.12.06 10:52)[2]
> Библиотека Indy
> компонент TIdHTTP метод Post


> Neket   (13.12.06 13:32)[8]
> Я просто думал может использовать что-то типа компоненты
> TIdHTTP метод Post

Я что-то не понимаю или это такое падонкавское программирование?


DVM   (2006-12-13 14:47:00) [6]


> Neket   (13.12.06 13:32) [8]

Ну так и используй TIdHTTP - лучше и не придумаешь.


Neket   (2006-12-13 13:32:00) [7]

Я просто думал может использовать что-то типа компоненты TIdHTTP метод Post чтобы не формировать эти данные... Чтобы компанента за меня это делала... А я только строчку мне необходимую задавал.


DVM   (2006-12-13 13:23:00) [8]


> Но может вы ещё что-то предложили бы?

Winsock

     FRequest := 'POST ' + FPath + ' HTTP/' + FHTTPVersion + #13#10 +
                 'Connection: keep-alive' + #13#10 +
                 'Content-Type: application/x-www-form-urlencoded' + #13#10 +
                 'Content-Length: ' + inttostr(Length(FParams)) + #13#10 +
                 'Host: ' + FHost + #13#10 +
                 'Accept: text/html, */*' + #13#10 +
                 'User-Agent: user' + #13#10 +
                 'Authorization: Basic ' + EncodeBase64(FUserName + ':' + FPassword) + #13#10#13#10;

ReturnCode := send(ASock, Pointer(ARequest)^, Length(ARequest), 0);


DVM   (2006-12-13 13:22:00) [9]


> Но может вы ещё что-то предложили бы?

Если ты хочешь использовать методы Post, Get протокола HTTP, то хочешь-не хочешь, а придется формировать тело запроса в соответствии с требованиями HTTP.


> Я не исключаю использование TCPCliet-a d в таком плане

Можно и так, только тело запроса главное правильно сформировать.


Neket   (2006-12-13 12:41:00) [10]

Я не исключаю использование TCPCliet-a d в таком плане
SendText('GET http://www.delphimaster.ruHTTP/1.0'#10#10);
Но может вы ещё что-то предложили бы?


Neket   (2006-12-13 12:38:00) [11]

2 DVM: под служебной информацией имелось ввиду что-то типа такого

GET http://www.delphimaster.ruHTTP/1.0
Accept: */*
Host: url.com
Referer: http://your_page.com
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Content-Type: text/html

Ну и так далее...


DVM   (2006-12-13 11:38:00) [12]


> Dmitrij_K   (13.12.06 10:52) [2]

Так ему же надо без
> TCPClient-ом (либо подобными команентами)

Пусть ответит на [1] сначала


Dmitrij_K   (2006-12-13 10:52:00) [13]

Библиотека Indy
компонент TIdHTTP метод Post


DVM   (2006-12-13 10:37:00) [14]


> TCPClient-ом (либо подобными команентами) пользоваться не
> хочется потому как придется ещё в тексте запроса указывать
> всякую служебную информацию.

Какую еще служебную информацию там надо указывать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо