-
MY PROJECTS
-
Recent Posts
- Algo.Java.DFS.Theory
- Java.Algo.DFSExample
- Algo.Java.Xor to find difference between strings
- Java.Algo.AllSubArrays
- Linux. Ubuntu.Monitor resources
- Java.Algo.Get sum of Digits from int
-
Java. List
to int[] and backwards - Sql.Execution Order
- Algo.Java.BinarySearch
- SQL. Conditional expression with count()
- Java.Algo.CumulativeApproach
- Algo.Java.BFS in BinaryTree
- Java.Jackson.Serialize object to json
- Algo. Traverse linked list
- Algo. Java. Remove-duplicates-from-sorted-array
- Java.Hibernate.SimpleExample
- Java.Jdbc.SimpleExample
- SQL. Calc the sum with case, example
- Mullvad – free the internet :)
- Junit. Jupiter
Categories
- Aptana
- Azure
- C#
- DataSnap
- DBExpress
- Delphi
- Delphi и сети
- Delphi. Язык программирования
- ExtJS
- FastReport
- FireDAC
- FireMonkey
- GIT
- ICS
- IDE
- IIS
- Indy
- InnoSetup
- javascript
- jQuery
- JSON
- LiveBindings
- MSHTML
- MySQL
- PHP
- REST
- Ribbons
- SMS
- SQL инструкции
- SVN
- TRichView
- UniGui
- WebBroker
- WinAPI
- Windows
- Алгоритмы
- Без рубрики
- Деревья
- Ищу ответ
- Компонентостроение
- Мои компоненты
- Начальный уровень
- Обработка исключений
- Парсинг
- Потоки(Threads)
- Регулярные выражения
- Тестирование приложений
Category Archives: Delphi и сети
Delphi. Как отправить POST запрос, принять и декодировать его на idHTTPServer?
В принципе, я уже делал такой пост Как отправить файл с помощью idHTTP и принять его на idHTTPServer ? Но в данном случае хочу акцентировать внимание именно на отправке и приеме параметров методом POST. Как это будет выглядеть?
Delphi. Как отправить файл с помощью idHTTP и принять его на idHTTPServer ?
Данный пример отправляет файлы и сообщения на сервер, а также принимает и раскодирует их. Работал с FTP протоколом, но столкнулся с рядом ограничений, которые как я понял можно преодолеть при помощи HTTP протокола и которые не позволяют мне решить поставленную … Continue reading
Delphi. Пример ограничения действия ссылки 72 часами
У нас есть свой веб-сервер, или мы пишем dll для IIS сервера, или это проект UniGUI, и мы хотим ограничить действие ссылки 72 часми. Таким образом можно ограничивать доступ к любому контенту, файлам, веб страницам и др. Вот что у … Continue reading
Posted in Delphi, Delphi и сети
Comments Off on Delphi. Пример ограничения действия ссылки 72 часами
Delphi. Как подменить url при помощи API NoblockME?
Рассмотрим пример подмены url при помощи стороннего сервиса. Плюс этого подхода состоит в простоте – мы просто отдаем исходный url и получаем зашифрованный. Огромный плюс этого подхода состоит в том, что нам не надо думать о работе сайтов, практически все … Continue reading
Posted in Delphi, Delphi и сети
Comments Off on Delphi. Как подменить url при помощи API NoblockME?
Delphi. idFTP. Рекурсивные обходы каталогов сервера
Как собрать все файлы из определенной директории и всех её поддиректорий? Вариант 1 Соберем имена файлов, кроме папок из определенной директории на FTP сервере при помощи компонента idFTP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
//Recursive listing of files... procedure TVisualFrame_PSFTPClient.ListAllFilesCore(dir:string); var DL: TStringList; i: Integer; begin DL:=TStringList.Create; try IdFTP.ChangeDir(Dir); IdFTP.List(DL, '', false); // <<<Listed all files and folders here... for i:=0 to DL.Count-1 do begin if IdFTP.Size(dl.Strings[i])=-1 then // If Folder then... ListAllFilesCore(dl.Strings[i]) //Recursion here... else FFilesOnServerAll.Add(DL.Strings[i]); end; IdFTP.ChangeDirUp; IdFTP.List(DL, '', false); // << Critical important !!! finally FreeAndNil(DL); end; end; |
И вторая процедура, которая собственно подключается к серверу и собирает файлы…
Delphi. Indy. FTP. Как получить дату создания, изменения и последнего доступа на сервере от idFTP ?
Этот вопрос можно преобразовать в “как преобразовать 20160911195120 в 11.09.2016 19:51:20 и перевести в LocalTime?” Я также поднял этот вопрос на 2 форумах Русский форум Английский форум Также мне показалась интересной ссылка на TTimeZone – класса, который появился, начиная с Delphi … Continue reading
Delphi.Indy. FTP. Активный и пассивный режимы. Мультипоточная загрузка на сервер. Правильная визуализация процесса
В прошлом посте про мультипоточную загрузку я столкнулся с некорректной индикацией процесса загрузки на сервер. Сама загрузка работала для нескольких файлов. А вот визуализация только для 1 файла. Поэтому, приходилось выкручиваться с таймерами. И я бы оставил этот вопрос, если … Continue reading
Delphi. Indy. idFTP. Как проверить соединение с сервером и если что – узнать об ошибках?
Простой пример, основанный на книге “Глубины Инди”
1 2 3 |
... uses IdException ... |
Собственно сам код…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
function IsFTPServerConnectionOk: Boolean; begin Result:=false; with idFTP do begin Host:=FTPParams.Host;// 'localhost'; //FTP-сервер Port:=FTPParams.Port;// 22; //порт ФТП сервера Username:=FTPParams.Username;// 'Логин'; Password:=FTPParams.Password;// 'Пароль'; end; try idFTP.Connect; try try if IdFTP.Connected then Result:=true; finally idFTP.Disconnect; end; except //Other exceptions on E: EIdException do begin showmessage(E.ClassName+' An network error occurred during communication: ' +#13#10+#13#10+E.Message); end; on E: Exception do begin showmessage(E.ClassName+' An unknown error occurred during communication: ' +#13#10+#13#10+E.Message); end; end; except // Catching Connection Exceptions on E: EIdException do begin showmessage(E.ClassName+' An network error occurred while trying to connect: ' +#13#10+#13#10+E.Message); end; on E: Exception do begin showmessage(E.ClassName+'An unknown error occurred while trying to connect: ' +#13#10+#13#10+E.Message); end; end; end; |
Здесь просто возбуждаются исключения. В принципе их можно где-то хранить и как-то обрабатывать. Отделены ошибки соединения от всех остальных ошибок. Но в данном, случае, конечно это перебор, так … Continue reading
Delphi. Indy. Обработка исключений
Согласно книге “Глубины Инди”, которая есть на просторах Интернетов, мы можем сделать следующее… При работе с клиентом
1 2 3 4 5 6 |
Client.Connect; try // Perform read/write here finally Client.Disconnect; end; |
Вот более развернутая версия, в которой мы отделяем ошибки Indy от всех остальных ошибок, например VCL ошибок.
1 2 3 |
... uses IdException ... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
try Client.Connect; try // Perform read/write here finally Client.Disconnect; end; except on E: EIdException do begin ShowMessage( 'Communication Exception: ' + E.Message); end else begin ShowMessage( 'VCL Exception: ' + E.Message); end; end; |
А вот … Continue reading
Delphi. Indy. Как передать на FTP сервер несколько файлов в разных потоках?
Вот что у нас получится…