13.04.23 — 09:37
День добрый. Прошу помощи спецов.
Задача перекинуть файл с FTP сервера на локальный ресурс. Вроде всё просто, но валит ошибку «Ошибка работы с Интернет: ftp://92.53.96.218:21 FTP: weird server reply»
Подключаюсь в пассивном режиме.
Валится на строчке
FTPСоединение.Получить(ФайлНаСервере.ПолноеИмя,»C:temp» + ФайлНаСервере.Имя);
При этом на локальном ресурсе файл создаётся, но пустой, с нулевым размером.
Не могу понять в чём причина. Какие то настройки FTP сервера? Или что?
FTPСоединение = Новый FTPСоединение(Адрес,,Логин,Пароль,,Истина); ФайлыНаРесурсе = FTPСоединение.НайтиФайлы ("/answer","*.xml",); // /answer Если ФайлыНаРесурсе.Количество()>0 Тогда Для Каждого ФайлНаСервере из ФайлыНаРесурсе Цикл КаталогИтог = ИмяКаталога +""+ ФайлНаСервере.ИмяБезРасширения + ".xml"; //FTPСоединение.Получить(ФайлНаСервере.ПолноеИмя,КаталогИтог); FTPСоединение.Получить(ФайлНаСервере.ПолноеИмя,"C:temp" + ФайлНаСервере.Имя); // КонецЦикла; ПрочитатьФайлXML(); КонецЕсли;
https://i.imgur.com/YewOAUX.jpg
1 — 13.04.23 — 09:27
2 — 13.04.23 — 09:33
(1) видел эту тему. Там решилось Пассивным режимом. Я же написал в (0), что подключаюсь именно так. FTPСоединение = Новый FTPСоединение(Адрес,,Логин,Пароль,,Истина); Истина это как раз пассивный режим.
3 — 13.04.23 — 09:44
если правый слеш
КаталогИтог = ИмяКаталога +»/»+ ФайлНаСервере.ИмяБезРасширения + «.xml»;
FTPСоединение.Получить(ФайлНаСервере.ПолноеИмя,КаталогИтог);
4 — 13.04.23 — 09:45
(2) Ты плохо видел
Там
«»I resolve my problem, it was a configuration problem from my ftp server ! My fault , sorry
This message appear when you limit the numbers of IPs to connect to the ftp server, in my case the limit was 2, I change to 5. «»
5 — 13.04.23 — 09:49
(0) Ищещшь файлы в каталоге «/answer», а читать пытаешься из корня …
6 — 13.04.23 — 09:50
(4) это я тоже проверил, лимит соединений не превышается
7 — 13.04.23 — 09:52
8 — 13.04.23 — 09:54
(7) Эт ты так думаешь. Выдай команду УстановитьТекущийКаталог перед циклом чтения.
9 — 13.04.23 — 09:54
(3) я уже не в КаталогИтог пишу, а тупо себе на локальный диск «C:temp» + ФайлНаСервере.Имя
не в этом дело
10 — 13.04.23 — 09:57
(8) спасибо за идею, но нет, не помогло
11 — 13.04.23 — 09:59
Покажи
Сообщить(«»+ФайлНаСервере.ПолноеИмя);
12 — 13.04.23 — 10:00
(10) Читай не по полному имени, а по имени файла
13 — 13.04.23 — 10:05
14 — 13.04.23 — 10:08
(12) такая же фигня. Установил текущий каталог answer, FTPСоединение.Получить(ФайлНаСервере.Имя
Ошибка та же FTP: weird server reply
15 — 13.04.23 — 10:10
FTPСоединение.УстановитьТекущийКаталог(«/»);
сделай перед Получить()
16 — 13.04.23 — 10:11
Суть что путь для Получить() передается относительно текущего каталога
17 — 13.04.23 — 10:13
(15) если по имени, то файл не находит Remote file not found
если по полному, то weird server reply
18 — 13.04.23 — 10:13
Гм хотя в (13) есть первый слеш в «/answer/SA143249.xml»
Странно но попробуй
FTPСоединение.УстановитьТекущийКаталог(«/»);
FTPСоединение.Получить(«answer/SA143249.xml»,»C:temp» + «SA143249.xml»);
19 — 13.04.23 — 10:16
(18)+ либо уже
FTPСоединение.УстановитьТекущийКаталог(«/answer/»);
FTPСоединение.Получить(«SA143249.xml»,»C:temp» + «SA143249.xml»);
20 — 13.04.23 — 10:16
(18)
Сообщить(«»+ФайлНаСервере.ПолноеИмя);
FTPСоединение.УстановитьТекущийКаталог(«/»);
//FTPСоединение.Получить(ФайлНаСервере.ПолноеИмя,»C:temp» + ФайлНаСервере.Имя);
FTPСоединение.Получить(«answer/SA143249.xml»,»C:temp» + ФайлНаСервере.Имя);
то же самое weird server reply
21 — 13.04.23 — 10:17
(19) то же самое
22 — 13.04.23 — 10:17
Попробуй другим клиентом скачать этот файл
Например встроенным в Total или Far
Возможно файл на блокировке
23 — 13.04.23 — 10:18
(22)+ И какая ошибка будет или лог
24 — 13.04.23 — 10:18
дело, судя по всему, в настройках FTP сервера, код рабочий. Вт что с настройками не так?
25 — 13.04.23 — 10:19
(22) FileZilla’ой без проблем копирую
26 — 13.04.23 — 10:20
(24) см (22)
т.е. пробуешь другим клиентом и смотришь что отвечает сервер на попытку Получить
1С к сожалению ответы которые не понимает тупо сообщает «weird server reply»
27 — 13.04.23 — 10:21
Эм а точно не FTPS?
28 — 13.04.23 — 10:22
FTPСоединение (FTPConnection)
По указанному серверу
Синтаксис:
Новый FTPСоединение(<Сервер>, <Порт>, <ИмяПользователя>, <ПарольПользователя>, <ПассивноеСоединение>, <Таймаут>, <ЗащищенноеСоединение>, <УровеньИспользованияЗащищенногоСоединения>)
Параметры:
<Сервер> (обязательный)
Тип: Строка.
Сервер, с которым осуществляется соединение.
<Порт> (необязательный)
Тип: Число.
Порт сервера, с которым осуществляется соединение.
Значение по умолчанию для FTP соединений равно 21, для защищенных FTPS соединений — 990.
Значение по умолчанию: порт по умолчанию для используемого протокола.
<ИмяПользователя> (необязательный)
Тип: Строка.
Имя пользователя на указанном сервере.
<ПарольПользователя> (необязательный)
Тип: Строка.
Пароль пользователя на указанном сервере.
<ПассивноеСоединение> (необязательный)
Тип: Булево.
Определяет тип ftp-соединения.
Значение по умолчанию: Ложь.
<Таймаут> (необязательный)
Тип: Число.
Таймаут в секундах на установку FTP соединения и выполнение FTP операций. 0 — не устанавливать таймаут.
Значение по умолчанию: 0.
<ЗащищенноеСоединение> (необязательный)
Тип: ЗащищенноеСоединениеOpenSSL, Неопределено.
Объект защищенного соединения для осуществления FTPS-соединения, если указан.
Если параметр не задан, выполняется попытка подключения к серверу FTP или FTPES в незащищенном режиме. При этом, если сервер требует установки защищенного режима, будет сгенерирована ошибка.
Значение по умолчанию: Неопределено.
<УровеньИспользованияЗащищенногоСоединения> (необязательный)
Тип: УровеньИспользованияЗащищенногоСоединенияFTP.
Определяет требования по использованию защищенного SSL-соединения.
Значение по умолчанию: Авто.
Описание:
Создает объект FTPСоединение.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
29 — 13.04.23 — 10:23
(25) FTPСоединение = Новый FTPСоединение(Адрес,,Логин,Пароль,,Истина);
5 параметр должен быть Истина, у тебя Ложь по умолчанию
6 параметр — число, у тебя булево
30 — 13.04.23 — 10:24
Перед Истина запятую убери
31 — 13.04.23 — 10:28
(27) да не, подключение же проходит. Файл то на сервере в каталоге ищется
вот это же отрабатывает ФайлыНаРесурсе = FTPСоединение.НайтиФайлы («/answer»,»*.xml»,);
32 — 13.04.23 — 10:34
(31) «Протокол FTP устанавливает между клиентом и сервером два типа соединений. Одно из них называется управляющим соединением и предназначено для передачи команд, а второе называется соединением для передачи данных и предназначается для передачи различных файлов на сервер. К первому типу соединения, то есть к управляющему, активный или пассивный режимы работы FTP не имеют никакого отношения. Выбор между этими двумя режимами делается пользователем при установке соединения для передачи данных.»
https://vps.ua/wiki/ftp-mode/
поиск он по управляющему и не связан с передачей/получением файлов
«Главное отличие активного и пассивного режимов работы протокола FTP состоит в том, кто из связки клиент-сервер производит подключение для передачи данных, то есть, грубо говоря, кто к кому подключается. Также отличаются порты, на которые производится передача данных. При активном режиме работы, клиент производит управляющее соединение с сервером, а вот подключение для передачи данных производит уже сам сервер. При пассивном режиме работы подключение для передачи данных, равно как и управляющее соединение с сервером инициируется только клиентом. То есть, в активом режиме сервер подключается к клиенту для передачи данных, а в пассивном – клиент к серверу.»
33 — 13.04.23 — 10:36
но странно что у тебя булево в поле числовое таймаут прокатило
вероятно еще все осложнилось Истина = 1, т.е. таймаут 1 секунда
34 — 13.04.23 — 10:36
35 — 13.04.23 — 10:38
(33) Булево в параметре ПассивныйРежим.
Таймаут я тоже пытался выставлять, не помогло
36 — 13.04.23 — 10:39
(34) пиши в 1С у них справка неправильная ))
37 — 13.04.23 — 10:39
(36)+ сейчас проверил на 8.3.22
такой же прикол
что быстрая подсказка отличается от СП
38 — 13.04.23 — 10:42
(37) если по другому параметры расставлять, то ошибка «Не соответствие параметров». Т.е. параметры соединения, всё таки, выставлены правильно
39 — 13.04.23 — 10:46
(38) проверь
после создания FTPСоединение
глянь что в «FTPСоединение.ПассивныйРежим»
40 — 13.04.23 — 10:49
41 — 13.04.23 — 10:49
файрвол проверь
еще лучше попробуй с другого компа(ip) и другой версии платформы 1С
42 — 13.04.23 — 10:51
43 — 13.04.23 — 10:52
(42)+ в макет с двоичными данными засунь, когда надо сохраняешь и запускаешь с параметрами
yurikmellon2
44 — 13.04.23 — 11:12
(41) запустил обработку с сервера, на котором лежит база — всё работает.
Я, конечно, затупил, надо было сразу это попробовать.
Всем спасибо за потраченное время. Буду дальне разбираться почему с сервера работает, а с локальной машины нет.
0
Never heard of that error message before
Please enable the «Debug Log» setting in the connection’s settings and try to download the file again.
Textastic should create a log file in the local «logs» directory. Please send this file to support@textasticapp.com so I can have a look at it.
- Reply
- |
-
-
-
+1
LoL
This problem com from a long distance, Reunion island if you know
I send you the log in few minutes.
Hope you can resolve the problem
- Reply
- |
-
-
-
0
Me again !
I resolve my problem, it was a configuration problem from my ftp server ! My fault , sorry
This message appear when you limit the numbers of IPs to connect to the ftp server, in my case the limit was 2, I change to 5.
Now I got a FTPS problem… In FTP mode all is good, but I cannot have a FTPS connection….
Now it’s a SSL error…
- Reply
- |
-
-
-
0
Great to hear that you could resolve the issue with your FTP conneciton.
Regarding FTPS: Did you disable «Verify SSL certificate» yet? You need to disable this setting if you’re using self-signed certificates.
- Reply
- |
-
-
-
0
A very big THANK YOU Alexander ! My problem with FTP was a FTPES problem, this type of connection didn’t exist since the new version 2.2 , I try it now with the new version and it work great !
So, thank you again !
Ps : it’s not possible to download empty files from a ftp server? I try and it doesn’t work…
For community information,
If the error message «weird server reply» appear, check :
— the number of ftp connection allow, you try to transfert 5 files and you allow 2 connections to your server, change to 5 or transfert 2 by 2
- Reply
- |
-
-
-
0
Hrmm, the file is only created if at least one byte is downloaded. So, yes, that probably means that you can’t download empty files. I’ll put it on my todo list.
- Reply
- |
-
-
-
Код ошибки CURL |
Название ошибки |
Описание |
0 |
CURLE_OK |
Curl работает без ошибки |
1 |
CURLE_UNSUPPORTED_PROTOCOL |
Протокол, который вы передали в url не поддерживается, по каким-либо причинам (может быть не актуальная версия curl или не верно определён PATH) |
2 |
CURLE_FAILED_INIT |
Проблема с инициализацией кода, которая может быть связанна с не установкой необходимых пакетов. |
3 |
CURLE_URL_MALFORMAT |
Неверно передан URL. Необходимо проверить url, который вы передаёте libcurl |
4 |
CURLE_NOT_BUILT_IN |
Функция, протокол или параметры, которые вы вызываете не включены в библиотеку CURL. |
5 |
CURLE_COULDNT_RESOLVE_PROXY |
Не возможна работа с Proxy. Быстрее всего он просто не правильно настроен. Вам необходимо обратиться к системному администратору. |
6 |
CURLE_COULDNT_RESOLVE_HOST |
К удалённому хосту доступ не разрешен. Необходимо настроить этот доступ. Не забудьте добавить хост в DNS. |
7 |
CURLE_COULDNT_CONNECT |
Не удалось подключиться к хосту или прокси серверу. Проверьте не блокирует ли брандмауэр. |
8 |
CURLE_FTP_WEIRD_SERVER_REPLY (CURLE_WEIRD_SERVER_REPLY) |
CURL не смог разобрать ваш отправленный URL |
9 |
CURLE_REMOTE_ACCESS_DENIED |
Отказ в доступе к удалённому каталогу. Это может быть связанно с тем, что происходит проверка сертификата. |
18 |
CURLE_PARTIAL_FILE |
Размер передаваемого файла и полученного не совпадают. Проверьте если существует стабильное соединение. Выполните telnet или ping и проанализируйте. |
22 |
CURLE_HTTP_RETURNED_ERROR |
Эта ошибка появляется тогда, когда параметр CURLOPT_FAILONERROR установлен в значение TRUE, а HTTP-сервер возвращает код ошибки > = 400 |
23 |
CURLE_WRITE_ERROR |
Ошибка при записи полученных данных в файл. |
26 |
CURLE_READ_ERROR |
Ошибка при чтении файла или появляется при обратном вызове чтения. Это может быть связанно с ошибками в локальном диске, повреждении файла. |
27 |
CURLE_OUT_OF_MEMORY |
Ошибка, которая появляется, когда требует для своей работы больше памяти |
28 |
CURLE_OPERATION_TIMEDOUT |
Time-out выполнения операции. При отправлении запроса CURL есть параметр CURLOPT_TIMEOUT
|
33 |
CURLE_RANGE_ERROR |
Сервер, на который вы отсылаете запрос не поддерживает такие запросы |
34 |
CURLE_HTTP_POST_ERROR |
Ошибка при отправке CURL методом post, если не правильно переданы параметры или запрос построен не верно. |
35 |
CURLE_SSL_CONNECT_ERROR |
Ошибка произошла на уровне SSL / TLS приветствия. Это может быть связано с авторизацией или другими видами проверки |
41 |
CURLE_FUNCTION_NOT_FOUND |
Функция CURL, которую вы пытаетесь вызвать, не найдена. Проверьте пакеты и зависимости, если они правильно установлены. |
42 |
CURLE_ABORTED_BY_CALLBACK |
Ошибка появляется когда обратный вызов вернул “abort” |
43 |
CURLE_BAD_FUNCTION_ARGUMENT |
Ошибка появляется когда вызываемая функция имеет неверные аргументы |
45 |
CURLE_INTERFACE_FAILED |
Ошибка интерфейса. Необходимо указать, какой интерфейс использовать для исходного IP-адреса исходящих соединений с помощью CURLOPT_INTERFACE. |
47 |
CURLE_TOO_MANY_REDIRECTS |
Эта ошибка возникает когда количество перенаправлений превышает установленный лимит в CURLOPT_MAXREDIRS |
48 |
CURLE_UNKNOWN_OPTION |
Опция, которую вы пытаетесь использовать неопределенна |
52 |
CURLE_GOT_NOTHING |
С сервера ничего не вернулось, что является также ошибкой |
53 |
CURLE_SSL_ENGINE_NOTFOUND |
Ошибка, в результате не нахождения SSL кодировщика |
54 |
CURLE_SSL_ENGINE_SETFAILED |
Не удалось установить SSL шифрование |
55 |
CURLE_SEND_ERROR |
Ошибка при отправке CURL запроса |
56 |
CURLE_RECV_ERROR |
Ошибка, возникает при сбое получения данных по сети |
58 |
CURLE_SSL_CERTPROBLEM |
Проблема с локальным сертификатом |
59 |
CURLE_SSL_CIPHER |
Ошибка, при использовании указанного шифра |
60 |
CURLE_SSL_CACERT |
Одноранговый сертификат не может быть аутентифицирован с помощью известных сертификатов CA |
61 |
CURLE_BAD_CONTENT_ENCODING |
При передаче данных кодировка не распознана. |
62 |
CURLE_LDAP_INVALID_URL |
Неверный URL LDAP |
63 |
CURLE_FILESIZE_EXCEEDED |
Ошибка, возникающая при превышении максимального размера файла |
64 |
CURLE_USE_SSL_FAILED |
Ошибка при использовании SSL сертификата |
65 |
CURLE_SEND_FAIL_REWIND |
При отправке данных необходимо было выбрать данные для повторной передачи, но произошла ошибка |
66 |
CURLE_SSL_ENGINE_INITFAILED |
При инициализации SSL произошла ошибка |
67 |
CURLE_LOGIN_DENIED |
Вход в систему на удалённый сервер |
68 |
CURLE_TFTP_NOTFOUND |
Не найден файл на TFTP сервере |
69 |
CURLE_TFTP_PERM |
Проблемы с правами на TFTP сервере |
30 |
CURLE_REMOTE_DISK_FULL |
Ошибка, связанная с тем, что дисковое пространство закончилось |
71 |
CURLE_TFTP_ILLEGAL |
Недопустимая операция TFTP |
72 |
CURLE_TFTP_UNKNOWNID |
Неизвестный идентификатор передачи TFTP |
73 |
CURLE_REMOTE_FILE_EXISTS |
Файл не может быть перезаписан, так как уже перезаписан |
74 |
CURLE_TFTP_NOSUCHUSER |
Эта ошибка никогда не должна возвращаться правильно работающим TFTP-сервером. |
75 |
CURLE_CONV_FAILED |
В результате преобразования символом произошла ошибка |
76 |
CURLE_CONV_REQD |
При регистрации обратного вызова произошла ошибка |
77 |
CURLE_SSL_CACERT_BADFILE |
Проблема с чтением сертификата SSL CA |
78 |
CURLE_REMOTE_FILE_NOT_FOUND |
Запрашиваемый ресурс на удалённом сервере не найден |
79 |
CURLE_SSH |
Во время сеанса SSH произошла неопределенная ошибка. |
80 |
CURLE_SSL_SHUTDOWN_FAILED |
Ошибка при неудачном завершении соединения SSL |
81 |
CURLE_AGAIN |
Этот код возврата появляется только из curl_easy_recv и curl_easy_send |
82 |
CURLE_SSL_CRL_BADFILE |
Не удалось загрузить файл CRL |
83 |
CURLE_SSL_ISSUER_ERROR |
Определенный код ошибки (CURLE_SSL_ISSUER_ERROR) определяется с параметром, который возвращается, если настройка сеанса SSL / TLS |
84 |
CURLE_FTP_PRET_FAILED |
Сервер FTP не понимает команду PRET или не поддерживает данный аргумент |
85 |
CURLE_RTSP_CSEQ_ERROR |
Несоответствие чисел RTSP CSeq |
86 |
CURLE_RTSP_SESSION_ERROR |
Несоответствие идентификаторов сеансов RTSP |
87 |
CURLE_FTP_BAD_FILE_LIST |
Невозможно проанализировать список файлов FTP (во время загрузки по шаблону FTP). |
88 |
CURLE_CHUNK_FAILED |
Чанк обратного вызова сообщил об ошибке |
89 |
CURLE_NO_CONNECTION_AVAILABLE |
Нет доступного соединения, сеанс будет поставлен в очередь. |
90 |
CURLE_SSL_PINNEDPUBKEYNOTMATCH |
Не удалось сопоставить закрепленный ключ, указанный в CURLOPT_PINNEDPUBLICKEY |
91 |
CURLE_SSL_INVALIDCERTSTATUS |
Статус вернул ошибку при запросе с CURLOPT_SSL_VERIFYSTATUS |
92 |
CURLE_HTTP2_STREAM |
Ошибка потока в слое кадрирования HTTP / 2 |
Гость 0 — 28.12.2011 — 13:52 |
Захожу в настройки обмена данными (Обмен через FTP ресурс) Адрес задан той фирмы,что продала и поставила 1С. Т.е. это на ихний фтп выгружаются файлы обмена. ИМХО,фигня какая-то ? Почему не на сервер самого клиента ? Ну да ладно,вопрос счас не в этом. Кликаю проверить ФТП-соединение,пишет,что все нормально. А вот если кликнуть «Выполнить обемен данными»,то орет след-е. Техническая информация: Ошибка при подключении к FTP : ftp.***** ! {ОбщийМодуль.ПроцедурыОбменаДанными.Модуль(1944)**: Ошибка при вызове конструктора (FTPСоединение): Ошибка работы с Интернет: ftp://ftp.*****:21Couldn’t resolve host name
Что за фигня ? В настройки эти никто вроде не лазил.
|
|
Uho 1 — 28.12.2011 — 14:19 |
а не через 1С открывает?
|
|
Гость 2 — 28.12.2011 — 14:28 |
Да,не через 1С открывает.
|
|
Гость 3 — 28.12.2011 — 14:29 |
Через браузер открывает,но зайти не могу,т.к.пароля я не знаю,а в 1С звездочками пароль.
|
|
Гость 4 — 28.12.2011 — 14:31 |
ну свой фтп сделай
|
|
Гость 5 — 28.12.2011 — 14:37 |
5-angro >может и придется.Но все же,что может быть ? Пароль кто-то поменял,что ли ?
|
|
lalex23 6 — 28.12.2011 — 20:08 |
,а в 1С звездочками пароль. консолью запросов вытащи справочника поля |
|
Гость 7 — 29.12.2011 — 19:42 |
Проблема была в использовании прокси. Если через браузер входить,то долго,но заходит.Если же из 1С (типова БП),то фиг.
|
|
Гость 8 — 30.12.2011 — 13:39 |
(8) хех .. ну браузер то по UDP и ему пофигу на потери пакетов и таймауты . А ты то по TCP ломишься из 1С .
|
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
- Pick a username
- Email Address
- Password
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account