![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| LordGuest |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
1. Есть некоторый заголовок
POST /addurl.cgi HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */* Accept-Language: ru Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Host: localhost:25686 Content-Length: 157 Connection: Keep-Alive Cache-Control: no-cache title=Page+title¬e=Page+Description&class=Internet&url=http://testing.ru&fname=First+Name&lname=Last+Name&[email protected]&country=United+ Kingdom Необходимо заполнить структуру на основе этого заголовка следующим образом: Info.Method = 'POST' Info.Path = '/addurl.cgi' Info.HTTP_VER = 'HTTP/1.1' Info.Accept = 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*' Info.Accept_Language = 'ru' Info.Content_Type = 'application/x-www-form-urlencoded' Info.User_Agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)' Info.Host = 'localhost:25686' Info.Connetion_Length = '157' Info.Connection = 'Keep-Alive' Info.Cache_Control = 'no-cache' Info.Title = 'Page+title' Info.Note = 'Page+Description' Info.Class = 'Internet' Info.Url = 'http://testing.ru' Info.FName = 'First+Name' ... Info.Country = 'United+Kingdom' 2. И еще. Есть ли какие-нибудь функции для кодирования и декодирования строки параметров? Ведь русские и некоторые символы невозможно передавать методом GET в строке без кодирования в шестнадцатиричный формат? |
|||
|
||||
| LordGuest |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
Неужели ни у кого нет хотя бы примера таких функций? Наверняка и Borland что то может предложить, правда раскопать их коды тяжко очень
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
А самому разпарсить
В папке Sources посмотри Все можно руками сделать (точнее программой написаной руками) -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Нет конечно. Все только ручками.
Можно упростить задачу. Записать ответ в TStringList. установить у него NameValueSeparator = ':'; после этого можешь считывать параметры по имени:
и т.д. А более детальное разделение только руками. |
|||
|
||||
| LordGuest |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
Спасибо конечно. Но необходимо сделать только на API без подключения модулей. В проекте может быть только модуль Windows и WinSock. А как все таки кодировать запрос GET/POST?
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Тогда только ручками построчно, анализируя каждую строку ответа.
|
|||
|
||||
| LordGuest |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
Блин, хоть убейте... не могу понять как это делается... может быть кто-нибудь код настрочит? Как строку параметров преобразовать в принятый шестнадцатиричный формат и обратно раскодировать его?
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Также есть готовые кодилки/декодилки в Indy |
|||
|
||||
| Демо |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 3 Всего: 50 |
Из какого-то совсем древнего проекта:
-------------------- |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |