Как правильно записать uri с пользователем
вроде как бы так - ftp://usertest:password@192.168.2.105:2222/
но энта фигня отчего-то не распознает UserInfo
Uri uri = new Uri(uriStr);
Нашёл блин
там поступает немного другая строка, которая показывается как:sftp:\\user..., хотя на самом деле "sftp:\user..."
Тогда другой вопрос - как сделать чтобы в пароле можно было использовать любые символы (типа - фыв:@12/) и для ввода пароля в текст не требовалось проги кодировщика
Файл "управления" с паролями и прочей ерундой будет вводит совершенно другой человек. Любое "сложное" кодирование потребует дополнительной проги.
Нужно "простое" кодирование, типа вместо @ записать @@ или \@, хотя с этим работы много. Проще, видимо, пароль записать в другом месте, а на месте пароля давать только ссылку на него, типа "password35"
Не понял, какая дополнительная прога? А ваш собственный метод кодирования - не такая же дополнительная прога?
Если что, этих HTML-кодирующих классов в дотнете минимум 3 штуки (МС развёл бардак):
.NET 4.8 - System.Web.dll - https://learn.microsoft.com/en-us/dotnet/api/system.web.ht...
.NET 7 - System.Runtime.dll - https://learn.microsoft.com/en-us/dotnet/api/system.net.we...
.NET 7 - System.Web.HttpUtility.dll - https://learn.microsoft.com/en-us/dotnet/api/system.web.ht...
Ну или вот ещё
https://learn.microsoft.com/en-us/dotnet/api/system.uri.es...
вроде как бы так - ftp://usertest:password@192.168.2.105:2222/
но энта фигня отчего-то не распознает
UserInfoUri uri = new Uri(uriStr);
Имхо всегда было через NetworkCredintal - см. https://learn.microsoft.com/ru-ru/dotnet/api/system.net.ne.... Пример тут https://codingvision.net/c-connecting-to-ftp-server:
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://myFtpAddress.tld/myFile.txt"); ftpRequest.Credentials = new NetworkCredential("username", "password");
Имхо всегда было через NetworkCredintal
А причем здесь NetworkCredintal и доступ к ФТП?
Нужно правильно разобрать входные данные. Вопрос с доступом решен. Не решен вопрос как узнать, что файл полностью закачан на сервер? Office тоже выдает "интересный " сценарий записи файла.
Вообще-то в итоге должно получиться следующее: Есть текстовый сценарий наблюдения за фтп и другими хранилищами, как только туда загружается определенный файл, с ним делаются какие то операции, например записывается в какую-то базу, в зависимости от различных критериев.
Кстати, интересен также вопрос Юнит тестирования подобных штук с различными файловыми системами. На любой пук делать интерфейс не хочется.
Q1":@/<\дайте ка мне его допустимое представление без использования "компа" и пр.
Не понял. Как ввести пароль в комп без компа, или что?
Ну на листочке запишите ему удобный для вас пароль. Или на листочке же напишите ему, какие символы нельзя использовать (или какие можно - там буквы, цифры, и пару знаков).
Вообще, по жизни многие программистские проблемы решаются разговором по душам или волшебным пенделем - абстракции всякие и алгоритмы зачастую не нужны.
А причем здесь NetworkCredintal и доступ к ФТП?
Чтобы залогиниться как надо, и чтобы хакеры не увидели ту строчку, даже у PHP через ftp_login делается см. https://www.php.net/manual/ru/function.ftp-login.php. Во многих примерах именно через NetworkCredintal логинятся к FTP, например https://www.c-sharpcorner.com/article/working-with-ftp-usi....
Не решен вопрос как узнать, что файл полностью закачан на сервер?
Вот пример:https://web.archive.org/web/20150207155137/http://codular....
Чтобы залогиниться как надо
Типа, как бонус к вопросу, понятно...
Во многих примерах именно через NetworkCredintal логинятся к FTP
А никто не говорил как именно логинятся к ФТП. Скажу по секрету - без мелкософта.
Вот пример
Это пример загрузки файла на сервер. Задача же совсем другая - есть ФТП сервер и нужно узнать со стороны сервера, когда файл полностью загрузится.
Как появляется новый файл, можно узнать периодическим опросом каталога.
Никак.
тута аж 5 вариантов, хотя большинстов на клиенте
https://stackoverflow.com/questions/29238153/how-to-detect...
Как раз один совпадает с тем что делается