8.х Работа с ftp сервером

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем TODD22, 26 ноя 2015.

  1. TopicStarter Overlay
    TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Здравствуйте.

    Пытаюсь подключиться к ftp. Скопировал строку подключения из работающей процедуры. Подключаюсь к тому же ftp серверу. С теми же логином и паролем.

    А подключение не происходит. Зависает на строке... потом отваливается по таймауту(поставил 20 сек).

    Из браузера с моего ПК заходит. IP у ftp внешний.

    Соединение = Новый FTPСоединение(IPСервера,Порт,Пароль,Логин,,Ложь,20);
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Доступ в интернет из браузера через прокси?
  3. TopicStarter Overlay
    TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Нет прокси нет.
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Из С-П:
    У тебя логин и пароль перепутаны в параметрах соединения и возможно таки FTP в пассивном режиме работает....
  5. TopicStarter Overlay
    TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Пассивный режим включал ничем не помогло.

    Пароль и логин не перепутаны. Там они прям в параметре указаны. Это я когда на сайт строку копировал перепутал :) А в коде там всё правильно скопировано.
  6. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.978
    Симпатии:
    397
    Баллы:
    104
    Запихни в попытку с исключением
    Код:
        Попытка
            НашеСоединение = Новый FTPСоединение(АдресFTP, 21, Логин, Пароль , , );
        Исключение
            Сообщить("Ошибка создания соединения: " + ОписаниеОшибки());
            Возврат;
        КонецПопытки;
    
    --- Объединение сообщений, 26 ноя 2015 ---
    Что скажет?
    --- Объединение сообщений, 26 ноя 2015 ---
    Только что проверил у себя. Код один в один. Там ничего сверхесетсвенного нет. С соединением косяк.
  7. TopicStarter Overlay
    TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    подключиться получилось по локальному ip. Потом буду разбираться почему по внешке не подключается.

    Вопрос следующий...

    Код:
    Массив = Новый Массив();
        МаскаФайлов = "*.*";
        ПутьНасервере = "\obmen83\dopfiles\";
        МассивФайлов = Соединение.НайтиФайлы(ПутьНаСервере, МаскаФайлов);
    
    Хочу получить массив файлов. Но выдаёт ошибку:

    "{ВнешняяОбработка.ОбменФТП.МодульОбъекта(66)}: Ошибка при вызове метода контекста (НайтиФайлы)
    МассивФайлов = Соединение.НайтиФайлы(ПутьНаСервере, МаскаФайлов);
    по причине:
    Ошибка аутентификации при доступе к ресурсу: ftp://192.168.0.99 Access denied to remote resource"

    Логин и пароль правильные. Но я же правильно понимаю что проблема в логине и пароле?
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Проблема может быть в правах.
  9. TopicStarter Overlay
    TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Пытаюсь подключиться через внешний ip.
    Если указываю 20й порт то пишет "не могу установить соединение".
    Если не указываю порт то пишет "превышено время ожидания".
  10. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Слэш попробуй в другую сторону. (ПутьНасервере)

    Ко внешке не подключается - а доступ то к ftp из вне открыт?
  11. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.978
    Симпатии:
    397
    Баллы:
    104
    А почему 20? 21 же стандартный порт.
  12. TopicStarter Overlay
    TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Тот кто ftp поднимал сказал что 20 порт.
    Но я и 21 первый пробовал.... не подключается.
    --- Объединение сообщений, 26 ноя 2015 ---
    Да конечно. К нему же другие ПК подключаются. А они не все у нас в сети. Некоторые как внешние подключаются.
  13. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Здравствуйте.
    Сочетание пассивный режим и 21 порт пробовали?
    Нам при настройке ftp очень помогла программа WinSCP.exe
    Попробуйте подключиться через нее. По крайней мере, увидите ошибки.
    Последнее редактирование: 26 ноя 2015
  14. TopicStarter Overlay
    TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    С подключением вроде разобрался проблема была на стороне сервера.

    Теперь вот такой вопрос.

    У меня есть 3 папки верхнего уровня и в них может быть много папок нижнего уровня. Имя нижней папки это дата. В папку вложены файлы.

    Сами файлы я получаю. А как получить имя папки в которой они лежат?

    Код:
    Массив = Новый Массив();
        МаскаФайлов = "*.*";
        ПутьНасервере = "\dopfiles\katalog_1\23_11_2015\";
        МассивФайлов = Соединение.НайтиФайлы(ПутьНаСервере, МаскаФайлов);
    
    Вот так получаю массив файлов в папке 23_11_15.

    А как мне получить массив каталогов в папке katalog_1?
  15. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Соединение.НайтиФайлы("\dopfiles\katalog_1", МаскаФайлов) - не работает в данном случае?
  16. TopicStarter Overlay
    TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Если файлы в папке есть то их находит. А мне нужно найти все каталоги.
  17. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    так папка/каталог - это одно и то же по сути, только у каталога будет признак - ЭтоКаталог = Истина.
    ну попробуй маску задать как "*" вместо "*.*" (без ковычек, ессно)
    TODD22 нравится это.
  18. TopicStarter Overlay
    TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Да спасибо получилось.... :)

Поделиться этой страницей