![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос 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-ом (либо подобными команентами) пользоваться не
> хочется потому как придется ещё в тексте запроса указывать
> всякую служебную информацию.
Какую еще служебную информацию там надо указывать?