Ошибка аутентификации при доступе к ресурсу: ftp://xxx:xxx Access denied to remote resource при выполнении Получить() файлы
Описание ошибки:
Установлено FTP-соединение, но при выполнении метода Получить(<Источник>, <ИмяВыходногоФайла>) возникает ошибка: Ошибка аутентификации при доступе к ресурсу: ftp://xxx:xxx Access denied to remote resource
Найденные решения:
Зачастую на такую ошибку на форумах можно встреть ответ, что FTP-соединение 1C:Предприятие работает не стабильно, неправильно, не для всех серверов подходит.
Чаще всего такие ответы возникают от нежелания подробно разобраться в правильности написания кода. Если стандартными средствами ftp-соединение устанавливается без ошибок, значит и работать с ним можно скорее всего в полной мере. Учитываем важные факторы: чтобы были права на папки и файлы для пользователя при ftp-подключении, и чтобы на сервере (если используем регламентное задание) или на клиентском компьютере, откуда выполняем подключение , были права на установку ftp-соединения. Т.е. учитываем обстоятельсва от 1С никак не зависящие. При использовании Получить(<Источник>, <ИмяВыходногоФайла>) нужно внимательно отнестись к тому, что передается первым параметром <Источник> — это должна быть строка к файлу уже на сервере, т.е не должна, например передаваться строка типа «ftp://ftp_сервер/нужный_каталог/файл», а должна передаваться строка-путь к файлу уже на самом сервере, т.е. в продолжение примера: «/нужный_каталог/файл». Т.е. сразу «/» и имя файла или путь с именем файла в зависимости от обстоятельств. С параметром <ИмяВыходногоФайла> — все проще — строка-путь к файлу полностью, например «C:мой_каталогмой_файл».
Более конструктивных решений в интернете не нашел. Если Вам удалось решить эту проблему или есть полезная информация по этой проблеме, то Ваше рашение будет добавлено на сайт со ссылкой на Ваш сайт или с сохранением авторства:
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
07-06-2014
Журавлев А.С.
(www.azhur-c.ru)
Елена Троянская
23.05.19 — 13:45
Проблема следующая. Долгое время в базе 1с работало чтение файлов с ftp (дописана обработка) из вложенной папки
Доступ по логину и паролю, соединение незащищенное, не поддерживает FTP через TLS
Внезапно обработка перестала работать по причине: Ошибка аутентификации при доступе к ресурсу: ftp://имяресурса.ru:21 Access denied to remote resource
На стороне 1с ничего не менялось
Пробовала — по фтп сейчас могу получить доступ только в корневую папку FTP , дальше — Access denied
Через filezilla или IE захожу в нужные подчиненные папки, права на папки 777, на файлы 666
Админы ftp логов доступа к нему не ведут и не планируют, и заставить их это делать не получится, да и вообще, молчат как партизаны.
Вопрос. Что могло случиться и что технически можно сделать для обхода проблемы?
Елена Троянская
1 — 23.05.19 — 13:45
1С:Предприятие 8.3 (8.3.5.1517)
mistеr
2 — 23.05.19 — 13:58
Сменить такой FTP или поднять свой.
Елена Троянская
3 — 23.05.19 — 14:03
(2) Невозможно, ftp у контрагента, и такие данные никто больше не предоставляет, а они критичны для работы организации.
Временно через браузер всё руками копируется на наш сервер и потом загружается оттуда, но это временно и нужно нормальное техническое решение.
Вопрос был про технические способы.
mistеr
4 — 23.05.19 — 14:07
> такие данные никто больше не предоставляет, а они критичны для работы организации
Вот это настоящая проблема, не техническая, и решать ее нужно соответствующе.
А так, если через WinSCP работает, то его можно заскриптовать для перекладывания на свой сервер. А также curl, wget, aria2 и другие.
Елена Троянская
5 — 23.05.19 — 14:09
(4) по п.1 — нерешаемо средствами организации.)
по п.2 — спасибо.
mistеr
6 — 23.05.19 — 14:12
Да, еще lftp, но это вообще монстр-комбайн. Разобраться сложно, но может всё.
NorthWind
7 — 23.05.19 — 14:17
для синхронизации папок средствами ftp очень хорошая штука ncftp (https://ncftp.com/ncftp/). Просто настроить на каком-нибудь компе задачку, чтобы он раз в сколько-то время ncftpget запускал для синхронизации ftp-шной удаленной папки со своей. Файлы сверяет, лишний раз не качает, если уже были скачаны. Очень удобно.
Елена Троянская
8 — 23.05.19 — 14:27
(7) Спасибо
Nyoko
9 — 23.05.19 — 14:49
(0)Зачем вообще FTP если есть например https://syncthing.net/ синхронизация каталога, хоть на 20 компах )))
Garykom
10 — 23.05.19 — 15:07
(0) Нанять программиста уже пробовали?
Garykom
11 — 23.05.19 — 15:08
(10)+ Это не стеб, если можно скачать вручную с ftp помимо 1С то кто мешает воспользоваться кучей способов и автоматизировать это скачивание чем то внешним?
Елена Троянская
12 — 23.05.19 — 15:15
(10) Пока в теме не обозначился ни один специалист, знакомый с данной проблемой именно в том виде, как она обозначена в СТ. Кого нанимать?
(11) Под костыли в виде дополнительных скачиваний на наш сервер уже всё сделано до данной темы. Хотелось бы послушать именно знающих тонкости работы ftp-1с. Но увы. Их нет.
А костылетворцев у нас и своих хватает.
Garykom
13 — 23.05.19 — 15:24
(12) Ну вам уже написали про ncftp в (7) которые юзали еще по времена 1С 7.7
http://security-corp.org/administration/sys_admin/12576-1s-77-organizaciya-avtoobmena-cherez-ftp.html
Но я не вижу проблем использовать что угодно, начиная от ВК до написания своей софтины или веб-сервиса который сделает что угодно.
Например есть прекрасная «Ъ» от Использование классов .Net в 1С для новичков
Или можно взять NodeJS или Golang или банальный C# (или прочее что знает программист которого вы наняли) и набросать простую штуку с которой уже любая 1С сможет работать штатно, через http соединение или еще как.
Елена Троянская
14 — 23.05.19 — 15:30
(13) Прежде чем что-то писать, нужно понять, можно ли сделать как было без затрат xx человеко-часов. Работало же оно 5 лет и не жужжало.
Garykom
15 — 23.05.19 — 15:36
(14) А вы пробовали штатную работу с ftp из вашей 1С слегка подправить попробовать и узнать что выйдет?
Ну там пассивный режим работы или таймаут? А может нечто не то с авторизацией например регистр логина или еще что.
Может надо текущий каталог менять правильно перед тем как нечто на ftp делать.
Garykom
16 — 23.05.19 — 15:37
(15)+ Короче имхается у вас была слегка кривая работа с ftp сервером из 1С.
И когда там у контрагентов сервер перевели на нормальный, то ваша 1С перестала с ним уметь работать.
Переписывайте правильно. Наймите программиста уже.
Елена Троянская
17 — 23.05.19 — 15:40
(15) Пробовали, соединение само работает, в корневой каталог фтп-пользователь логинится.
Но во вложенные каталоги уже нет.
Проблем нанять кого-то нет от слова совсем. Пусть придёт, блеснёт знанием как правильно и почему. Пока предлагаются костыли и балабольство.
NorthWind
18 — 23.05.19 — 15:45
как по мне — ftp-клиент в 1С очень так себе. Поэтому прямой способ как раз утащить к себе админскими средствами, а дальше с этой папкой делать че хошь уже у себя дома, а не на чужом сервере.
Garykom
19 — 23.05.19 — 15:47
(18) Нормальный там клиент, со своими тараканами и надо готовить уметь.
Garykom
20 — 23.05.19 — 15:47
(17) УстановитьТекущийКаталог(<ИмяКаталога>) не отрабатывает на правильные пути для вложенных?
NorthWind
21 — 23.05.19 — 15:48
(19) нормальный — это когда без тараканов. А ветки про косяки встроенного FTP от 1С тут появляются регулярно — то одно не может, то другое
Garykom
22 — 23.05.19 — 15:48
(20)+ Или может надо ЗащищенноеСоединениеOpenSSL ?
Garykom
23 — 23.05.19 — 15:48
(21) Оно еще в разных версиях платформы по разному ))
Елена Троянская
24 — 23.05.19 — 15:48
(18) Согласна. Но это прям на самый-самый крайний случай вариант.
Потому что + 1 промежуточный обмен данными всегда дополнительный гемор.
NorthWind
25 — 23.05.19 — 15:48
вот ncftp — это нормальный. Работает уже под 30 лет и голову не греет
Елена Троянская
26 — 23.05.19 — 15:49
(20) Для вложенных — нет. Для корневого — да.
Елена Троянская
27 — 23.05.19 — 15:51
(22) Если оно не нужно для корневого, то может быть нужно для вложенных?
В любом случае, пробовала, не завелось.
Garykom
28 — 23.05.19 — 16:12
(27) Код покажите, у меня есть подозрения что вы что то не то делаете банально
Елена Троянская
29 — 23.05.19 — 16:40
(28)
Подключение
——————————
попытка
Соединение = новый FTPСоединение(
ФтпДанные.ФтпСервер,
21,
ФтпДанные.Логин,
ФтпДанные.Пароль,
Неопределено,
истина,0,Неопределено,
);
исключение
Сообщить(ОписаниеОшибки());
Возврат Неопределено;
КонецПопытки;
———————————-
Что менялось методом пляски с бубном:
номер порта указывался явно или не указывался (в первоначальном варианте, отработавшим 5 лет, не был указан, но работает и так и так)
Прокси — на моём домашнем его точно нет, менялось только пустой параметр/ неопределено
Пассивное соединение: пробовалось как истина-ложь, работает только истина
Защищенное соединение: пробовалось как неопределено или ЗащищенноеСоединениеOpenSSL, работает только неопределено
Таймаут: пробовался 0 и 30, разницы нет
Этим же кодом пробовала подключаться к тестовому
ФтпСервер = «test.rebex.net»;
Логин = «demo»;
Пароль = «password»;
НО там только корень и 1 файл, вложенных нет, корневой файл читает
Что в работе: попросила админа рабочего фтп положить файл в корень, проверю чтение
Попытка
Соединение = ПодключитьФТП();
Путь = ФтпДанные.ПутьКПапке0;//корневой каталог
Соединение.УстановитьТекущийКаталог(Путь);
//файлы = Соединение.НайтиФайлы(Путь,Маска);
сообщить («ок «+ Путь);
Путь = ФтпДанные.ПутьКПапке1;//1 уровень
Соединение.УстановитьТекущийКаталог(Путь);
//файлы = Соединение.НайтиФайлы(Путь,Маска);
сообщить («ок «+ Путь);
Путь = ФтпДанные.ПутьКПапке;//2 уровень
Соединение.УстановитьТекущийКаталог(Путь);
//файлы = Соединение.НайтиФайлы(Путь,Маска);
сообщить («ок «+ Путь);
исключение
ЗаписьЖурналаРегистрации(«фтп»,,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),);
КонецПопытки;
—-
Тут только на верхний уровень заходит и всё, в папки уже нет.
——
пути 1,2,3 уровень такого вида
———————-
ПутьКПапке0 = «/»;
ПутьКПапке1 = «/ftpNNN/»;
ПутьКПапке = «/ftpNNN/csv/»;
mistеr
30 — 23.05.19 — 18:09
Можно посниффить сеть и получить лог FTP сессии. Может что-то прояснится.
Сияющий в темноте
31 — 23.05.19 — 18:43
А что возвращает разделитель пути?
может у них фтп на винде и наклон нужен в другую сторону?
Сияющий в темноте
32 — 23.05.19 — 18:44
там в коде фигня.
у фтп нет путькпапке1 и т.п.
срочно переписать!
Сияющий в темноте
33 — 23.05.19 — 18:46
и это,некоторын фтп не ели черточку в конце.
Елена Троянская
34 — 23.05.19 — 18:48
(30) Подкину идею админам, мож заморочатся. В этом вопросе — у меня лапки.
Garykom
35 — 23.05.19 — 18:49
Имхо у вас проблема не с УстановитьТекущийКаталог
А с НайтиФайлы
Елена Троянская
36 — 23.05.19 — 18:50
(31) На прошлой неделе всё работало. Навряд ли они ОС сменили за это время, во всяком случае, утверждают, что не меняли ничего.
(32) Всё норм в коде. Это структура.
(33) Неделю назад ел.
Елена Троянская
37 — 23.05.19 — 18:51
(35) И с тем и с тем одинаковые проблемы.
Garykom
38 — 23.05.19 — 18:53
А про регистрозависимость вы в курсе же на линуксе?
Вафель
39 — 23.05.19 — 18:53
Елена Троянская
40 — 23.05.19 — 19:04
(38) Вы — гений.
Знаю, но не додумалась, что дело может быть в этом. Поскольку админы поставщика клялись, что ничего не меняли. Ну так, с винды на линукс переехали, видимо втихаря.
Завелось. Спасибо.
Содержание
- FTP СоздатьКаталог
- FTPФайл Имя/ИмяБезРасширения обрезает имя после @
- FTPСоединение устанавливается, но не создаются каталоги и не загружаются файлы
- Проблемы чтения с ftp средствами 1С
- Работа с FTP в 1С 8.2 и 8.3
- Общая информация
- Практические задачи при работе с FTP
- Как подключиться к серверу FTP?
Добрый день!
1с УФ. Подключаюсь к FTP, соединение проходит, каталог устанавливается. но не создается новый каталог в нем. Ругается:
Ошибка при вызове метода контекста (СоздатьКаталог): Ошибка работы с Интернет: ftp://***.***.***.***:21 Quote command returned error
Код
Попытка
Соединение = Новый FTPСоединение(ФТПХост,ФТППорт, ФТППользователь, ФТППароль);
Сообщить(«Соединяемся с сервером FTP. «);
Исключение
Сообщить(«Не могу соединиться с FTP сервером»);
Возврат;
КонецПопытки;
Сообщить(«Соединение с «+ФТПХост+» установлено»);
НачальнаяПапкаВыгрузкиКомп = «D:1Сwebdata»;
Если ТекущаяПапка = Неопределено Тогда ТекущаяПапка = НачальнаяПапкаВыгрузкиКомп КонецЕсли;
МассивФайлов = НайтиФайлы(ТекущаяПапка, «*»);
ТекКаталог = «upload/»;
Для Каждого НайденныйФайл Из МассивФайлов Цикл
Файл = Новый Файл(НайденныйФайл.ПолноеИмя);
Если Файл.ЭтоКаталог() Тогда
//ЕстьТакаяПапка = Соединение.НайтиФайлы(НачальныйКаталогВыгрузкиFTP + СтрЗаменить(СтрЗаменить(НайденныйФайл.Путь, НачальнаяПапкаВыгрузкиКомп + «», «»), «», «/»),НайденныйФайл.Имя).Количество() > 0;
//Вот эта строка выше тоже не работает, я ее пока убрала временно.
ЕстьТакаяПапка = Ложь;
Если не ЕстьТакаяПапка Тогда
НомерПопытки = 1;
Успешно = Ложь;
Пока НомерПопытки Cool_Profi
Источник
FTPФайл Имя/ИмяБезРасширения обрезает имя после @
С удивлением для себя обнаружил что свойство Имя и ИмяБезРасширения не возвращает имя после собачки.
К примеру у меня на фтп есть папка e-mail@mail.ru
При этом свойство ПолноеИмя возвращает правильный путь
«/Папка/e-mail@mail.ru»
А свойство имя только ту часть что до @ т.е.
Свойство Расширение — возвращает пустую строк
проверено на 8.3.12.1469 и на 8.3.13.1549
Это баг и неправильное поведение программы или тайная фича? И какие еще сюрприщы с именем можно ожидать?
НайтиФайлы (FindFiles)
Синтаксис:
Тип: Строка.
Путь к каталогу, в котором производится поиск. При использовании этой схемы в адресах необходимо указывать прямые слеши ‘/’, а не обратные ‘’.
Допускается указание полного имени файла (путь + имя).
Зачем тогда делать
Новый FTPСоединение, если достаточно в найти файл указать логин и пароль?
Это что типа фича такая что можно сразу делать найти и параметры авторизации передать в строку?
Источник
FTPСоединение устанавливается, но не создаются каталоги и не загружаются файлы
Здравствуйте всем, кто это читает.
Первый раз тут спрашиваю.
Кто-нибудь сталкивался с ошибкой
Ошибка при вызове метода контекста (СоздатьКаталог)
FTPСоединение.СоздатьКаталог(ЭтаФорма.Каталог);
по причине:
Ошибка работы с Интернет: ftp://*****.ucoz.site:21 Quote command returned error
Платформа 1С:Предприятие 8.3 (8.3.14.1779), БП 3.0.71.69 ПРОФ. Вариант базы клиент-серверный. Но это не суть (т.к. на этой же платформе и из-под пустой конфигурации на другом ПК работает). Текущий ПК — виртуалка Hyper-V, порт 21 и туда и оттуда открыт.
Само соединение устанавливается, без ошибок.
Файлы и каталоги читать могу.
Пробовал и пассивный и активный режимы, как только не пробовал. Иногда бывало Ошибка создания FTPсоединения: Ошибка при вызове конструктора (FTPСоединение): Ошибка работы с Интернет: ftp://*****.ucoz.site:21 Requested SSL level failed
Каталоги пробовал задавать как «123», «/123», «123» и со слешами в конце. Пробовал не устанавливать ТекущийКаталог — безрезультатно, ошибка та же.
Вручную создать каталог можно, через ТоталКоммандор. Ну и с другого ПК, с той же платформы создаётся, если задать «/123».
Кто может направить на истинный путь?
А при попытке записи файла выдаёт
Ошибка при вызове метода контекста (Записать)
FTPСоединение.Записать(ИмяВременногоФайла, «test.txt»);
по причине:
Ошибка работы с Интернет: ftp://*****.ucoz.site:21 Upload failed (at start/before it took off)
Проверил и сверил при отладке адрес, порт, логин и пароль, с этим всё ок.
Тогда бы я даже не мог посмотреть список файлов.
У пользователя права есть, т.к. на другом ПК отрабатывает норм, и через тотал командер всё получается.
Если что-то не так заполнить, тогда уже Ошибка аутентификации при доступе к ресурсу Login denied соответственно сразу же при подключении.
(6) Просто тут ещё проблема в том, что это не мой сервер, где не работает создание каталога. В Windows административных прав нет. И настройки эти посмотреть нет возможности. В этом проблема :(.
Через cURL (первый блок — с обычного ПК, где ОК; второй блок — с машины, где из 1С так же не создаётся каталог на ФТП).
Может ли блокировать файервол на второй машине? (Там, кстати, Windows Server 2012 на Hyper-V, подключаюсь через RemoteApp)
Источник
Проблемы чтения с ftp средствами 1С
Проблема следующая. Долгое время в базе 1с работало чтение файлов с ftp (дописана обработка) из вложенной папки
Доступ по логину и паролю, соединение незащищенное, не поддерживает FTP через TLS
Внезапно обработка перестала работать по причине: Ошибка аутентификации при доступе к ресурсу: ftp://имяресурса.ru:21 Access denied to remote resource
На стороне 1с ничего не менялось
Пробовала — по фтп сейчас могу получить доступ только в корневую папку FTP , дальше — Access denied
Через filezilla или IE захожу в нужные подчиненные папки, права на папки 777, на файлы 666
Админы ftp логов доступа к нему не ведут и не планируют, и заставить их это делать не получится, да и вообще, молчат как партизаны.
Вопрос. Что могло случиться и что технически можно сделать для обхода проблемы?
(2) Невозможно, ftp у контрагента, и такие данные никто больше не предоставляет, а они критичны для работы организации.
Временно через браузер всё руками копируется на наш сервер и потом загружается оттуда, но это временно и нужно нормальное техническое решение.
Вопрос был про технические способы.
> такие данные никто больше не предоставляет, а они критичны для работы организации
Вот это настоящая проблема, не техническая, и решать ее нужно соответствующе.
А так, если через WinSCP работает, то его можно заскриптовать для перекладывания на свой сервер. А также curl, wget, aria2 и другие.
(4) по п.1 — нерешаемо средствами организации.)
(10) Пока в теме не обозначился ни один специалист, знакомый с данной проблемой именно в том виде, как она обозначена в СТ. Кого нанимать?
(11) Под костыли в виде дополнительных скачиваний на наш сервер уже всё сделано до данной темы. Хотелось бы послушать именно знающих тонкости работы ftp-1с. Но увы. Их нет.
А костылетворцев у нас и своих хватает.
Но я не вижу проблем использовать что угодно, начиная от ВК до написания своей софтины или веб-сервиса который сделает что угодно.
Например есть прекрасная «Ъ» от Использование классов .Net в 1С для новичков
Или можно взять NodeJS или Golang или банальный C# (или прочее что знает программист которого вы наняли) и набросать простую штуку с которой уже любая 1С сможет работать штатно, через http соединение или еще как.
(14) А вы пробовали штатную работу с ftp из вашей 1С слегка подправить попробовать и узнать что выйдет?
Ну там пассивный режим работы или таймаут? А может нечто не то с авторизацией например регистр логина или еще что.
Может надо текущий каталог менять правильно перед тем как нечто на ftp делать.
(15)+ Короче имхается у вас была слегка кривая работа с ftp сервером из 1С.
И когда там у контрагентов сервер перевели на нормальный, то ваша 1С перестала с ним уметь работать.
Переписывайте правильно. Наймите программиста уже.
Что менялось методом пляски с бубном:
номер порта указывался явно или не указывался (в первоначальном варианте, отработавшим 5 лет, не был указан, но работает и так и так)
Прокси — на моём домашнем его точно нет, менялось только пустой параметр/ неопределено
Пассивное соединение: пробовалось как истина-ложь, работает только истина
Тут только на верхний уровень заходит и всё, в папки уже нет.
——
Источник
Работа с FTP в 1С 8.2 и 8.3
В этой статье я попробую рассказать о том, какими средствами располагает технологическая платформа 1С для работы с протоколом FTP. Первая часть статьи — теоретическая, вторая — практические примеры. Отмечу, что при написании статьи использовалась технологическая платформа версии 8.3.12.1595.
Общая информация
Для работы с протоколом FTP у технологической платформы 1С имеется два главных объекта — FTPСоединение и FTPФайл, кроме них существует объект ЗащищенноеСоединениеOpenSSL — который используется для подключения к FTPS-серверам (не следует путать с SFTP), а также объект ИнтернетПрокси — который используется для соединения с FTP-сервером через прокси-сервер.
FTPСоединение ключевой объект для работы с FTP в 1С — именно через этот объект происходит и соединение с FTP/FTPS сервером и все дальнейшие действия. Все параметры для соединения с сервером указываются в конструкторе объекта.
FTPФайл служит для получения информации о каталогах и файлах на FTP-сервере — этот объект позволяет получить информацию по объекту на FTP-сервере: имя, путь расширение, размер и тд.
ИнтернетПрокси позволяет указать прокси-сервер используемый для соединения с FTP/FTPS сервером — параметры для подключения к прокси-серверу указываются методом Установить(). Использование свойств «Пароль» и «Пользователь» нежелательно, так как эти свойства являются устаревшими.
ЗащищенноеСоединениеOpenSSL создает защищенное соединение OpenSSL — предоставляет возможность организовать защищенное соединение с FTP-сервером, также имеется возможность конкретный сертификат клиента и/или сертификат удостоверяющего центра.
Практические задачи при работе с FTP
В качестве практических примеров рассмотрим все операции которые позволяет выполнить объект FTPСоединение.
Как подключиться к серверу FTP?
Параметры для подключения указываются в конструкторе, сами параметры достаточно стандартны. Отдельно скажу про два параметра:
- Таймаут — позволяет указать таймаут в секундах для установки соединения и выполнения операций;
- Пассивное соединение — определяет тип FTP-соединения: «Ложь» — активный режим, «Истина» — пассивный, значение по умолчанию — «Ложь». Разница заключается в том, кто устанавливает соединение для передачи данных — при активном режиме это делает сервер, при пассивном клиент. Это бывает важно при наличии брандмауэра, так как он часто запрещает входящие соединения на случайные порты.
Источник
23.05.19 — 13:45
Проблема следующая. Долгое время в базе 1с работало чтение файлов с ftp (дописана обработка) из вложенной папки
Доступ по логину и паролю, соединение незащищенное, не поддерживает FTP через TLS
Внезапно обработка перестала работать по причине: Ошибка аутентификации при доступе к ресурсу: ftp://имяресурса.ru:21 Access denied to remote resource
На стороне 1с ничего не менялось
Пробовала — по фтп сейчас могу получить доступ только в корневую папку FTP , дальше — Access denied
Через filezilla или IE захожу в нужные подчиненные папки, права на папки 777, на файлы 666
Админы ftp логов доступа к нему не ведут и не планируют, и заставить их это делать не получится, да и вообще, молчат как партизаны.
Вопрос. Что могло случиться и что технически можно сделать для обхода проблемы?
1 — 23.05.19 — 13:45
1С:Предприятие 8.3 (8.3.5.1517)
2 — 23.05.19 — 13:58
Сменить такой FTP или поднять свой.
3 — 23.05.19 — 14:03
(2) Невозможно, ftp у контрагента, и такие данные никто больше не предоставляет, а они критичны для работы организации.
Временно через браузер всё руками копируется на наш сервер и потом загружается оттуда, но это временно и нужно нормальное техническое решение.
Вопрос был про технические способы.
4 — 23.05.19 — 14:07
> такие данные никто больше не предоставляет, а они критичны для работы организации
Вот это настоящая проблема, не техническая, и решать ее нужно соответствующе.
А так, если через WinSCP работает, то его можно заскриптовать для перекладывания на свой сервер. А также curl, wget, aria2 и другие.
5 — 23.05.19 — 14:09
(4) по п.1 — нерешаемо средствами организации.)
по п.2 — спасибо.
6 — 23.05.19 — 14:12
Да, еще lftp, но это вообще монстр-комбайн. Разобраться сложно, но может всё.
7 — 23.05.19 — 14:17
для синхронизации папок средствами ftp очень хорошая штука ncftp (https://ncftp.com/ncftp/). Просто настроить на каком-нибудь компе задачку, чтобы он раз в сколько-то время ncftpget запускал для синхронизации ftp-шной удаленной папки со своей. Файлы сверяет, лишний раз не качает, если уже были скачаны. Очень удобно.
8 — 23.05.19 — 14:27
(7) Спасибо
9 — 23.05.19 — 14:49
(0)Зачем вообще FTP если есть например https://syncthing.net/ синхронизация каталога, хоть на 20 компах )))
10 — 23.05.19 — 15:07
(0) Нанять программиста уже пробовали?
11 — 23.05.19 — 15:08
(10)+ Это не стеб, если можно скачать вручную с ftp помимо 1С то кто мешает воспользоваться кучей способов и автоматизировать это скачивание чем то внешним?
12 — 23.05.19 — 15:15
(10) Пока в теме не обозначился ни один специалист, знакомый с данной проблемой именно в том виде, как она обозначена в СТ. Кого нанимать?
(11) Под костыли в виде дополнительных скачиваний на наш сервер уже всё сделано до данной темы. Хотелось бы послушать именно знающих тонкости работы ftp-1с. Но увы. Их нет.
А костылетворцев у нас и своих хватает.
13 — 23.05.19 — 15:24
(12) Ну вам уже написали про ncftp в (7) которые юзали еще по времена 1С 7.7
http://security-corp.org/administration/sys_admin/12576-1s-77-organizaciya-avtoobmena-cherez-ftp.html
Но я не вижу проблем использовать что угодно, начиная от ВК до написания своей софтины или веб-сервиса который сделает что угодно.
Например есть прекрасная «Ъ» от Использование классов .Net в 1С для новичков
Или можно взять NodeJS или Golang или банальный C# (или прочее что знает программист которого вы наняли) и набросать простую штуку с которой уже любая 1С сможет работать штатно, через http соединение или еще как.
14 — 23.05.19 — 15:30
(13) Прежде чем что-то писать, нужно понять, можно ли сделать как было без затрат xx человеко-часов. Работало же оно 5 лет и не жужжало.
15 — 23.05.19 — 15:36
(14) А вы пробовали штатную работу с ftp из вашей 1С слегка подправить попробовать и узнать что выйдет?
Ну там пассивный режим работы или таймаут? А может нечто не то с авторизацией например регистр логина или еще что.
Может надо текущий каталог менять правильно перед тем как нечто на ftp делать.
16 — 23.05.19 — 15:37
(15)+ Короче имхается у вас была слегка кривая работа с ftp сервером из 1С.
И когда там у контрагентов сервер перевели на нормальный, то ваша 1С перестала с ним уметь работать.
Переписывайте правильно. Наймите программиста уже.
17 — 23.05.19 — 15:40
(15) Пробовали, соединение само работает, в корневой каталог фтп-пользователь логинится.
Но во вложенные каталоги уже нет.
Проблем нанять кого-то нет от слова совсем. Пусть придёт, блеснёт знанием как правильно и почему. Пока предлагаются костыли и балабольство.
18 — 23.05.19 — 15:45
как по мне — ftp-клиент в 1С очень так себе. Поэтому прямой способ как раз утащить к себе админскими средствами, а дальше с этой папкой делать че хошь уже у себя дома, а не на чужом сервере.
19 — 23.05.19 — 15:47
(18) Нормальный там клиент, со своими тараканами и надо готовить уметь.
20 — 23.05.19 — 15:47
(17) УстановитьТекущийКаталог(<ИмяКаталога>) не отрабатывает на правильные пути для вложенных?
21 — 23.05.19 — 15:48
(19) нормальный — это когда без тараканов. А ветки про косяки встроенного FTP от 1С тут появляются регулярно — то одно не может, то другое
22 — 23.05.19 — 15:48
(20)+ Или может надо ЗащищенноеСоединениеOpenSSL ?
23 — 23.05.19 — 15:48
(21) Оно еще в разных версиях платформы по разному ))
24 — 23.05.19 — 15:48
(18) Согласна. Но это прям на самый-самый крайний случай вариант.
Потому что + 1 промежуточный обмен данными всегда дополнительный гемор.
25 — 23.05.19 — 15:48
вот ncftp — это нормальный. Работает уже под 30 лет и голову не греет
26 — 23.05.19 — 15:49
(20) Для вложенных — нет. Для корневого — да.
27 — 23.05.19 — 15:51
(22) Если оно не нужно для корневого, то может быть нужно для вложенных?
В любом случае, пробовала, не завелось.
28 — 23.05.19 — 16:12
(27) Код покажите, у меня есть подозрения что вы что то не то делаете банально
29 — 23.05.19 — 16:40
(28)
Подключение
——————————
попытка
Соединение = новый FTPСоединение(
ФтпДанные.ФтпСервер,
21,
ФтпДанные.Логин,
ФтпДанные.Пароль,
Неопределено,
истина,0,Неопределено,
);
исключение
Сообщить(ОписаниеОшибки());
Возврат Неопределено;
КонецПопытки;
———————————-
Что менялось методом пляски с бубном:
номер порта указывался явно или не указывался (в первоначальном варианте, отработавшим 5 лет, не был указан, но работает и так и так)
Прокси — на моём домашнем его точно нет, менялось только пустой параметр/ неопределено
Пассивное соединение: пробовалось как истина-ложь, работает только истина
Защищенное соединение: пробовалось как неопределено или ЗащищенноеСоединениеOpenSSL, работает только неопределено
Таймаут: пробовался 0 и 30, разницы нет
Этим же кодом пробовала подключаться к тестовому
ФтпСервер = «test.rebex.net»;
Логин = «demo»;
Пароль = «password»;
НО там только корень и 1 файл, вложенных нет, корневой файл читает
Что в работе: попросила админа рабочего фтп положить файл в корень, проверю чтение
Чтение данных
———————-
Попытка
Соединение = ПодключитьФТП();
Путь = ФтпДанные.ПутьКПапке0;//корневой каталог
Соединение.УстановитьТекущийКаталог(Путь);
//файлы = Соединение.НайтиФайлы(Путь,Маска);
сообщить («ок «+ Путь);
Путь = ФтпДанные.ПутьКПапке1;//1 уровень
Соединение.УстановитьТекущийКаталог(Путь);
//файлы = Соединение.НайтиФайлы(Путь,Маска);
сообщить («ок «+ Путь);
Путь = ФтпДанные.ПутьКПапке;//2 уровень
Соединение.УстановитьТекущийКаталог(Путь);
//файлы = Соединение.НайтиФайлы(Путь,Маска);
сообщить («ок «+ Путь);
исключение
ЗаписьЖурналаРегистрации(«фтп»,,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),);
КонецПопытки;
—-
Тут только на верхний уровень заходит и всё, в папки уже нет.
——
пути 1,2,3 уровень такого вида
———————-
ПутьКПапке0 = «/»;
ПутьКПапке1 = «/ftpNNN/»;
ПутьКПапке = «/ftpNNN/csv/»;
30 — 23.05.19 — 18:09
Можно посниффить сеть и получить лог FTP сессии. Может что-то прояснится.
31 — 23.05.19 — 18:43
А что возвращает разделитель пути?
может у них фтп на винде и наклон нужен в другую сторону?
32 — 23.05.19 — 18:44
там в коде фигня.
у фтп нет путькпапке1 и т.п.
срочно переписать!
33 — 23.05.19 — 18:46
и это,некоторын фтп не ели черточку в конце.
34 — 23.05.19 — 18:48
(30) Подкину идею админам, мож заморочатся. В этом вопросе — у меня лапки.
35 — 23.05.19 — 18:49
Имхо у вас проблема не с УстановитьТекущийКаталог
А с НайтиФайлы
36 — 23.05.19 — 18:50
(31) На прошлой неделе всё работало. Навряд ли они ОС сменили за это время, во всяком случае, утверждают, что не меняли ничего.
(32) Всё норм в коде. Это структура.
(33) Неделю назад ел.
37 — 23.05.19 — 18:51
(35) И с тем и с тем одинаковые проблемы.
38 — 23.05.19 — 18:53
А про регистрозависимость вы в курсе же на линуксе?
39 — 23.05.19 — 18:53
Елена Троянская
40 — 23.05.19 — 19:04
(38) Вы — гений.
Знаю, но не додумалась, что дело может быть в этом. Поскольку админы поставщика клялись, что ничего не меняли. Ну так, с винды на линукс переехали, видимо втихаря.
Завелось. Спасибо.
Ошибка аутентификации при доступе к ресурсу: ftp://xxx:xxx Access denied to remote resource при выполнении Получить() файлы
Описание ошибки:
Установлено FTP-соединение, но при выполнении метода Получить(<Источник>, <ИмяВыходногоФайла>) возникает ошибка: Ошибка аутентификации при доступе к ресурсу: ftp://xxx:xxx Access denied to remote resource
Найденные решения:
Зачастую на такую ошибку на форумах можно встреть ответ, что FTP-соединение 1C:Предприятие работает не стабильно, неправильно, не для всех серверов подходит.
Чаще всего такие ответы возникают от нежелания подробно разобраться в правильности написания кода. Если стандартными средствами ftp-соединение устанавливается без ошибок, значит и работать с ним можно скорее всего в полной мере. Учитываем важные факторы: чтобы были права на папки и файлы для пользователя при ftp-подключении, и чтобы на сервере (если используем регламентное задание) или на клиентском компьютере, откуда выполняем подключение , были права на установку ftp-соединения. Т.е. учитываем обстоятельсва от 1С никак не зависящие. При использовании Получить(<Источник>, <ИмяВыходногоФайла>) нужно внимательно отнестись к тому, что передается первым параметром <Источник> — это должна быть строка к файлу уже на сервере, т.е не должна, например передаваться строка типа «ftp://ftp_сервер/нужный_каталог/файл», а должна передаваться строка-путь к файлу уже на самом сервере, т.е. в продолжение примера: «/нужный_каталог/файл». Т.е. сразу «/» и имя файла или путь с именем файла в зависимости от обстоятельств. С параметром <ИмяВыходногоФайла> — все проще — строка-путь к файлу полностью, например «C:мой_каталогмой_файл».
Более конструктивных решений в интернете не нашел. Если Вам удалось решить эту проблему или есть полезная информация по этой проблеме, то Ваше рашение будет добавлено на сайт со ссылкой на Ваш сайт или с сохранением авторства:
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
07-06-2014
Журавлев А.С.
(www.azhur-c.ru)
- Главная
- —
- Форум
- —
- ТЕХПОДДЕРЖКА
- —
- БОНЛИОН — Бонусная система для 1С
- —
- Обмен по FTP
vep Пользователь Сообщений: 7 |
Помогите, пожалуйста. Не можем настроить выгрузку файлов обмена по ftp. Соединение проверяем — все нормально. Каталог на сервере где сайт прописан. Но файл выгрузки в папку на сайт не сохраняется. В проводнике Windows или Total Commander — все нормально ровно с теми же настройками. Все соединяется и прописанный в поле Каталог путь отрабатывает. |
покажите скрин настроек в 1С |
|
vep Пользователь Сообщений: 7 |
#3
28.06.2021 09:19:57
https://yadi.sk/i/nFJ51v5kDjfrrQ |
||
вы похоже указываете лишние папки на каталог FTP поэкспериментируйте разными вариантами Пример как должно быть |
|
vep Пользователь Сообщений: 7 |
#5
28.06.2021 10:07:29
Мы эксперементировали уже по-всякому. Не работает. Без слэшей был последний вариант потому что в прилагаемой инструкции на скриншоте именно так прописано. |
||
vep Пользователь Сообщений: 7 |
#6
28.06.2021 10:08:23
Попробую. Но если смотреть в ftp-клиенте, то путь к папке именно такой как на скриншоте. |
||
vep Пользователь Сообщений: 7 |
С урезанным адресом выдает ошибку: Ошибка при соединении с FTP : /upload/1c_exchange_bonuses/ ! {ОбщийМодуль.APPLIX_RU_СМ_FTP.Модуль(76)}: Ошибка при вызове метода контекста (НайтиФайлы): Ошибка аутентификации при доступе к ресурсу: ftp://magellanbooks.ru:21 Access denied to remote resource |
пришлите доступ к вашему ftp на support@applix.ru в письме укажиет ссылку на эту тему |
|
vep Пользователь Сообщений: 7 |
#9
30.06.2021 12:37:46 Я уже сам проверил. Следующий код с использованием вышеуказанных параметров отлично работает:
Так что проблема точно в вашем закрытом модуле. К тому же попутно нашел ещё один баг. В коде команды «проверить соединение» в нижеприведенной строке отсутствует параметр «ПассивноеСоединение» из-за чего соединение проверяется минуты две. Возможно и в закрытом модуле похожие огрехи имеются. Проверьте.
Изменено: vep — 30.06.2021 12:38:57 |
||||
Александр Носов Администратор Сообщений: 359 |
#10
22.07.2021 15:00:54 Работа в FTP переведена на служебный модуль. Обновление уже можно заказать, отправьте запрос на наш email |
ПОСЛЕДНИЕ СООБЩЕНИЯ
Сейчас на форуме (гостей: 43)
Всего зарегистрированных пользователей: 2227
Приняло участие в обсуждении: 367
Всего тем: 824
Создал внешнюю обработку. В ней подключаюсь к ftp. Из одной базы. Пользователь под полными правами. Подключается корректно. Во второй базе вызываю тот же самый код. Пишет: Ошибка аутентификации при доступе к ресурсу: Access denied to remote resource Может у меня что-то не так с правами базы? Как это настроить? База sql и там и там
Попробуй подключиться в обратном порядке..
А может, настройки самого фтп?
В общем — выслал письмо админам. Всем спасибо, наверное, это уже не в моей юриздикции
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям