|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
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
|
||||
|
||||
А вы уверены, что пароль передается именно в таком формате? Я так подозреваю, что это кодировка mime64. Да и судя по сообщению, это скорее ограничение на длину пароля со стороны сервера.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 02.03.2012 в 19:22. |
#3
|
|||
|
|||
Это просто набор знаков,для примера.Пароль шифруется в кодировке rsa и в таком виде передаётся.Ограничение не со стороны сервера а именно со стороны инди.Существует компонент на основе indy HttpClient,с его помощью всё передаётся замечательно,но он меня не устраивает по ряду причин.Хотелось бы использовать именно родной компонент indy.Да,и сообщение не в ответе от сервера а со стороны программы,что то типа "длинная ссылка"
Последний раз редактировалось Damagger, 02.03.2012 в 19:56. |
#4
|
|||
|
|||
Хотя возможно это скорее всего ограничение StringList.Вот попробуйте добавить в StringList длинную строку,выводится ошибка String too long at line 333 (333:41)
|
#5
|
|||
|
|||
Я понял,TStringList действительно имеет ограничение на длинну строки в 255 символов.Таким образом перефразирую вопрос -как обойти это ограничение?
|
#6
|
|||
|
|||
Никак. Длина строки в 255 символов это ограничение присущее Паскалю. В нем строка представляется как массив байт, где в нулевом байте записана длина всей строки. Можно создать свой класс для строки, где использовать что-то иное. Динамический массив, например
|
#7
|
|||
|
|||
Спаибо за ответы.Решил проблему разбиением строки и последующим сложением,т.е. запись в TstringList идёт кусочками через "+",в данном случае вполне подходящее и рабочее решение..
|
#8
|
|||
|
|||
Костыль детектед
|