Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.03.2012, 19:09
Damagger Damagger вне форума
Прохожий
 
Регистрация: 02.03.2012
Сообщения: 5
Репутация: 10
Вопрос indy. Ограничение на кол-во символов в передаваемых параметрах

Всем привет,хотелось бы узнать как обойти ограничение на количество символов передаваемых в параметрах при отправке запроса на indy.Пример:

Код:
Data:=TstringList.Create;
Data.add('user=vasja');
Data.add('pass=hgcf4tubbtrt+46ghy4whjkvt432gf4bhjt4fcjy+4rf54dgvf45hgggrt54yghg5y65hg5fhhgh5fg5hg+f5kj6gtg5fgg5hgfgf5hh65fg5fb+gcsku79v5wwgghjh4h577jhjt6ujjjjjhhgggk64rguyjkjhy6uijkujhgjv+djmk75644hmnhgde3j87iomgdvh5t78');

idHTTP1.Post('https://site.ru/login',data);

Значение pass не передаётся,либо передаётся неполностью,приходит ответ что то типа "превышен лимит на количество символов".Буду благодарен за любые мысли по этому поводу.
Ответить с цитированием
  #2  
Старый 02.03.2012, 19:18
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А вы уверены, что пароль передается именно в таком формате? Я так подозреваю, что это кодировка mime64. Да и судя по сообщению, это скорее ограничение на длину пароля со стороны сервера.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 02.03.2012 в 19:22.
Ответить с цитированием
  #3  
Старый 02.03.2012, 19:53
Damagger Damagger вне форума
Прохожий
 
Регистрация: 02.03.2012
Сообщения: 5
Репутация: 10
По умолчанию

Это просто набор знаков,для примера.Пароль шифруется в кодировке rsa и в таком виде передаётся.Ограничение не со стороны сервера а именно со стороны инди.Существует компонент на основе indy HttpClient,с его помощью всё передаётся замечательно,но он меня не устраивает по ряду причин.Хотелось бы использовать именно родной компонент indy.Да,и сообщение не в ответе от сервера а со стороны программы,что то типа "длинная ссылка"

Последний раз редактировалось Damagger, 02.03.2012 в 19:56.
Ответить с цитированием
  #4  
Старый 02.03.2012, 20:05
Damagger Damagger вне форума
Прохожий
 
Регистрация: 02.03.2012
Сообщения: 5
Репутация: 10
По умолчанию

Хотя возможно это скорее всего ограничение StringList.Вот попробуйте добавить в StringList длинную строку,выводится ошибка String too long at line 333 (333:41)
Ответить с цитированием
  #5  
Старый 02.03.2012, 20:39
Damagger Damagger вне форума
Прохожий
 
Регистрация: 02.03.2012
Сообщения: 5
Репутация: 10
По умолчанию

Я понял,TStringList действительно имеет ограничение на длинну строки в 255 символов.Таким образом перефразирую вопрос -как обойти это ограничение?
Ответить с цитированием
  #6  
Старый 02.03.2012, 20:59
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Никак. Длина строки в 255 символов это ограничение присущее Паскалю. В нем строка представляется как массив байт, где в нулевом байте записана длина всей строки. Можно создать свой класс для строки, где использовать что-то иное. Динамический массив, например
Ответить с цитированием
  #7  
Старый 02.03.2012, 21:24
Damagger Damagger вне форума
Прохожий
 
Регистрация: 02.03.2012
Сообщения: 5
Репутация: 10
По умолчанию

Спаибо за ответы.Решил проблему разбиением строки и последующим сложением,т.е. запись в TstringList идёт кусочками через "+",в данном случае вполне подходящее и рабочее решение..
Ответить с цитированием
  #8  
Старый 02.03.2012, 21:28
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Костыль детектед
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter