Перейти к содержанию
Fire Monkey от А до Я

Поиск сообщества

Показаны результаты для тегов 'indy'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

Найдено: 15 результатов

  1. У меня есть код, который должен скачивать файл с сайта: var LoadFile : TMemoryStream; begin LoadFile := TMemoryStream.Create; IdHTTP1.Get('https://sitename.pro/Folder/FileName.txt', LoadFile); LoadFile.SaveToFile('FileName.txt'); LoadFile.Free; end; Проблема однако в том, что вместо скачивания файла программа выдает: Could not load SSL library, хотя я никакой "SSL library" не просил)). При этом, когда я попробовал скачать файл с сайта работающего по старинке, на http (в отличие от https), все скачалось нормально, то есть проблема явно в данном протоколе. Поиск по Интернету ничего не дал.
  2. Недавно компилил приложение на Delphi FMX Android при обращении к серверу https при выполнении Get запроса от компонента TIdHttp запросил библиотеку "Could not load SSL library" используется протокол sslvTLSv1_2 в windows все пашет в андроид нет , накопал что можно подключить библиотеки libssl.so и libcrypto.so через deployment .assets\internal , А вот как в коде дальше их использовать никто примерчик не выложил, хоть и обсуждали на интернет просторах 100 раз, те как прикрутить к IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile. Если есть у кого код выложите пожалуйста? или скинте по email bossalex@ya.ru IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method.sslvTLSv1_2; IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode.sslmUnassigned;
  3. Есть немного странная проблема! Пытаюсь написать программу посылающую почту со смартфона.Используются Indy компоненты TIdSMTP,TIdMessage и TIdSSLIOHandlerSocketOpenSSL. Под Windows с компа все работает нормально. но если тема, имя адресата или имя посылающего содержат русские буквы, то если посылать почту со смартфона, они появляются в пришедшем письме вопросиками. Понятно, что дело в кодировке. Не могу найти что менять. Само тело письма пишется с кодировкой UTF-8 и отображается везде по русски совершенно нормально. Имена и тема с русскими буквами с компьютера и Windows приходят правильно, со смартфона(при компиляции под Android) приходят неправильно. Перепробовал вроде почти все комбинации. Почта со смартфона при наборе вручную тоже работает нормально. Дело по-видимому в конфигурации TIdMessage, а где не пойму. Работаю в Delphi XE10, смартфон Samsung J3, Android 5.1.1 Проще всего конечно не использовать в теме письма русские буквы, при этом все работает, но это не нравится, потому что непонятно почему так происходит.
  4. Здравствуйте! Пытаюсь реализовать алгоритм PBKDF2-SHA1. Для вычисления HMAC-SHA1 использую класс TidHMACSHA1. Код PBKDF2-SHA1 нашел на просторах интернета и немного подкорректировал для использования с INDY (TidHMACSHA1): function PBKDF2Sha1(pass, salt: string; count, kLen: Integer): string; function IntX(i: Integer): string; inline; begin Result := Char(i shr 24) + Char(i shr 16) + Char(i shr 8) + Char(i); end; var D, I, J: Integer; T, F, U, wPass: TIdBytes; begin wPass := ToBytes(pass); D := Ceil(kLen / (160 div 8)); for i := 1 to D do begin F := EncryptHMACSha1(ToBytes(salt + IntX(i)), wPass); U := F; for j := 2 to count do begin U := EncryptHMACSha1(U, wPass); //<-- Проблема F := XorBlock(F, U); end; T := T + F; end; Result := ToHex(Copy(T, 1, kLen)); end; Для вычисления HMAC-SHA1 используется функция EncryptHMACSha1: function EncryptHMACSha1(Input, AKey: TIdBytes): TIdBytes; var HMachSha1: TIdHMACSHA1; begin HMachSha1 := TIdHMACSHA1.Create; try HMachSha1.Key := AKey; Result := HMachSha1.HashValue(Input); finally HMachSha1.Free; end; end; Возникает проблема, когда эта функция используется 6-й раз в функции PBKDF2Sha1: for i := 1 to D do // D := 2 begin F := EncryptHMACSha1(ToBytes(salt + IntX(i)), wPass); // Использование функции (разы): 1-й, 4-й U := F; for j := 2 to count do // count := 3 begin U := EncryptHMACSha1(U, wPass); // <--Проблема! Использование функции (разы): 2-й, 3-й, 5-й, !6-й! F := XorBlock(F, U); end; T := T + F; end; Возникает исключение в глубинах INDY-кода: а точнее в функции TIdHashSHA1.NativeGetHashBytes (файл: idHashSHA,pas) на строке с кодом: SetLength(Result, SizeOf(UInt32)*5); // в файле строка под номером 460 Помогите решить данную проблему. Версии: Delphi: 10.1 INDY: 10.6.2.5341
  5. Доброго времени суток. Есть приложение на Windows (сервер) и есть от 1 до 4 приложений (клиенты) на Андроид. Все устройства в сети. IP адреса клиентов не известны серверу, а адрес сервера клиентам. Приложения после того как узнают адреса друг друга, будут обмениваться сообщениями через TIdTcpClient и TIdTcpServer. Как лучше реализовать распознавание клиентов в сети? Делаю сейчас используя Tethering, но способ мне не нравится.
  6. Собственно в IdTCPClient возникает Max line length exceeded при чтении. Шаманы в интернетах советуют поменять величину константы IdMaxLineLengthDefault. Есть ли другие способы решения?
  7. ivadimos

    TidHTTP 401 exception

    Загружаю контент через Get. Link - формируется ссылка через DropBox API. + токен и т.д. Content := AIdHTTP.Get(Link); На android / win всё ок, на OS X - 401 ошибка (Unautorized).
  8. Здравствуйте форумчане. Возникла проблема с определением IP адреса на андроид устройстве. Компьютер и андроид подключены к Wi-Fi роутеру. У компьютера адрес 192.168.1.101, у андроида 192.168.1.105. Выше-озвученный компонент под windows показывает корректный адрес, под андроидом 127.0.0.1. Почему??? И как корректно определить внутренний IP адрес?
  9. Вопрос заключается в следующем - есть сервер сделанный в VCL Server1->DefaultPort=6590 void __fastcall TForm3::Server1Execute(TIdContext *AContext) // на запрос от клиента { TIdIOHandler *a = AContext->Connection->IOHandler; UnicodeString res = a->ReadLn(IndyUTF8Encoding(true)); if (res == "zapros") { if (ListBox1->Items->Strings[0]!="") { a->WriteLn(ListBox1->Items->Strings[0],IndyUTF8Encoding(true)); a->WriteLn(ListBox3->Items->Strings[0],IndyUTF8Encoding(true)); ListBox2->Items->Add("("+AContext->Connection->Socket->Binding->IP+")"+ListBox1->Items->Strings[0]); } есть клиент написанный на vcl //порт указан вручную Client1->Host =Edit2->Text; if (Client1->Connected()==false) { try { Client1->Connect(); } catch(...) { ShowMessage("Не удалось подключиться"); } } TIdIOHandler *a = Client1->IOHandler; a->WriteLn("zapros",enUTF8); Edit1->Text=a->ReadLn(enUTF8); Edit5->Text=a->ReadLn(enUTF8); a->Free(); } рабочий, захотел переложить его на FMX: Client1->Port=6590; Client1->Host=Edit1->Text; if (Client1->Connected()==false) { try { Client1->Connect(); } catch(...) { Client1->Socket->Close(); ShowMessage("Не удалось подключиться"); } } TIdIOHandler *a = Client1->IOHandler; a->WriteLn("zapros",IndyUTF8Encoding(true)); Edit3->Text=a->ReadLn(IndyUTF8Encoding(true)); Edit5->Text=a->ReadLn(IndyUTF8Encoding(true)); Client1->Socket->Close(); a->Free(); } выдает ошибку Может подскажет кто-как их помирить? (Сервер переписывать не вариант )
  10. Приветствую! Пишу компоненты для работы с VK API. Там все операции(рекомендовано) с АПИ проходят по защищенному соединению. Интересует можно ли использовать в приложении для Android idHttp по защищенному протоколу SSL. В Windows необходимо было таскать Dll'ку с приложением. Что делать если будет разработка не только для Windows? Спасибо.
  11. День добрый! Пишу приложение, которое периодически загружает информацию с сайта. Способ простейший - SiteResult := IdHTTP.Get('http://example.com/'); На компе стоит dr. web. Обычно, когда какое-либо приложение пытается получить данные из сети, вываливается стандартное окошко брандмауэра, мол, так и так, данное приложение пытается получить доступ к сети, разрешить, заблокировать или создать для него правило. В моем же случае такого не происходит. Просто при выполнении указанной строки кода появляется сообщение об ошибке сокета #10013 Access Denied в независимости от указанного адреса (включая localhost). При попытке отправки POST-запроса - та же история. При отключении брандмауэра dr. web все запросы отрабатываются без осложнений)). В чем может быть причина? Может у TidHTTP должны быть определенным способом заполнены какие-то свойства?
  12. Доброго времени суток. Написал два приложения, которые работают через wi-fi. Одно выполняет роль сервера (управляющего), другое в количестве 4 штук посылает/получает информацию на/от сервера. Иногда отваливаются клиентские приложения. В чем может быть причина? На "сервере" создаю точку доступа и клиенты подключаются сначала по wi-fi, затем к приложению. Для связи использую компоненты TidTCPClient и TidTCPServer. Что нужно сделать чтобы клиентское приложение не закрывалось само по себе?
  13. Друзья, всем привет. Возникла следующая проблема. Использую IdFTP для закачки файла на сервер. Всё получается хорошо. Я коннектюсь к серверу и посылаю на него файл, но файл на сервере оказывается битым и отличается по размеру от оригинала. Вот код: procedure TForm5.Button2Click(Sender: TObject); var IdFTP:TIdFtp; begin IdFTP:=TIdFTP.Create(nil); if IdFTP.Connected then begin IdFTP.Abort; IdFTP.Quit; end; IdFTP.Username := '************.ru'; IdFTP.Password := 'ыыыыыыыыыыыы'; IdFTP.Host := 'чччччччччччч'; IdFTP.Port := 21; try IdFTP.Connect; IdFTP.ChangeDir('/test'); IdFTP.Put('E:\test\in\1.jpg', '1.jpg', False); IdFTP.Quit; except ShowMessage('xep'); end; IdFTP.free; end;
  14. Подскажите, как правильно проверить, есть ли папка на FTP сервере? Сейчас делаю так: function TFTP_As.FtpPathExist(Path: String): boolean; begin Result := false; try fFtp.MakeDir(Path); except Result := true; end; end; Но при большом кол-ве папок тяжело отлаживать программу - уж слишком много except"ов. Можно ли как-то иначе сделать эту проверку? Спасибо.
  15. Добрый день! Возник еще один вопрос по работе с FM3. Нашел на диске заброшенный проект(клиент для чата). Захотелось переписать его под Android. Только проблема заключается вот в чем. При получении текста я раньше писал так: fInput:= fClient.Socket.ReadLn(TEncoding.UTF8); Но сейчас видимо что-то изменилось в ИнДи(из-за кроссплатформености полагаю?), и TEncoding.UTF8 нельзя использовать. А без него в неправильной кодировке приходит текст. Кто может, приведите пример, как получить текст с сервера с преобразованием кодировки? P.S. Ярослав, если я не в том разделе создал тему, просьба переместить ее.
×
×
  • Создать...