Closed yar229 closed 7 months ago
Не обязательно - всё зависит от локали вашей системы. Мы же настраиваем её так как нам удобно и я к примеру вижу время так:
или я обязан видеть что-то иное?
Я не про отображение в панелях, с этим все нормально. При закачке файла на webdav сервер идут запросы
getlastmodified
. и вот для этого свойства формируется строка даты-времени неправильноСейчас попробовал от себя https://yadi.sk/i/AmzxSqpN3PyUDy и запросов не получил. Попробуйте импортировать настройки YD (WebDAV).netbox.zip, а после введите логин и пароль YD.
Перед копированием выставляем галку Transfer Settings -> Preserve timestamp Закачиваю файл, созданный 2017-11-23 21:03 (UTC)
Сервер получает
И оно такое отослано плагином, это просто строка из пришедшего xml, ничего не менял
Должно быть что-то вроде Thu, 23 Nov 2017 21:03:00 GMT
Попробуйте импортировать настройки YD (WebDAV).netbox.zip, а после введите логин и пароль YD.
Если я правильно смотрю в код формирования запроса
DateTime.DecodeDate(Y, M, D);
DateTime.DecodeTime(H, NN, S, MS);
UnicodeString LastModified = FORMAT("%04d, %d %02d %04d %02d:%02d%02d 'GMT'", D, D, M, Y, H, NN, D);
То там от настроек ничего не зависит, хардкодом формируется строка И число месяца D три раза вставляется - вместо дня недели, вместо названия месяца и вместо секунд.
Так это вам у себя настройки прокси надо смотреть - вы же обращаетесь к серверу через него по 801 порту, а что там дальше портится знает только он. Внешние клиенты тут явно не при чём.
У того же YD как-то иной IP будет - 213.180.193.50:443 и у меня идёт обращение к нему через DNS минуя неизвестно как построенный локальный прокси который ждёт строго определённый формат данных, а на любой иной ругается.
Странное предположение, когда это прокси меняли xml в теле http-запроса.
Это не яндекс, это адрес запущенного локально webdav-сервера, по дороге от клиента до сервера - только localhost и никаких прокси.
Яндекс парсит, и я могу, конечно, распарсить на своей стороне и такой формат даты, но это не отменяет того, что он не верный.
При чём тут NetBox и другие клиенты если ваш локальный сервер матерится на всех? У меня с той же настройкой:
ни один из десятка вебдав серверов не матерится. Значит или ваш локальный сервер неправильно настроен, либо он из коробки кривой ибо не бывает так, что вся рота шагает не в ногу и только один в дым пьяный поручик шагает в ногу. Такого даже бравый солдат Швейк и его командир поручик Лукаш в ночном кошмаре не могли бы себе представить. :)
Ммм... посмотрите RFC4918 HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
И матерится он только на NetBox
Вы немного документацию-то почитайте - в RFC-4918 через RFC-3339 5.6 идёт ссылка на RFC 822 5.1:
DATE AND TIME SPECIFICATION
5.1. SYNTAX
date-time = [ day "," ] date time ; dd mm yy ; hh:mm:ss zzz
day = "Mon" / "Tue" / "Wed" / "Thu" / "Fri" / "Sat" / "Sun"
date = 1*2DIGIT month 2DIGIT ; day month year ; e.g. 20 Jun 82
month = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun" / "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec"
time = hour zone ; ANSI and Military
hour = 2DIGIT ":" 2DIGIT [":" 2DIGIT] ; 00:00:00 - 23:59:59
zone = "UT" / "GMT" ; Universal Time ; North American : UT / "EST" / "EDT" ; Eastern: - 5/ - 4 / "CST" / "CDT" ; Central: - 6/ - 5 / "MST" / "MDT" ; Mountain: - 7/ - 6 / "PST" / "PDT" ; Pacific: - 8/ - 7 / 1ALPHA ; Military: Z = UT; ; A:-1; (J not used) ; M:-12; N:+1; Y:+12 / ( ("+" / "-") 4DIGIT ) ; Local differential ; hours+min. (HHMM)
и смотрим формат который вы считаете недопустимым
%04d, %d %02d %04d %02d:%02d%02d 'GMT'", D, D, M, Y, H, NN, D
результат соответствует RFC 822 и RFC 3339, а коли ваш конкретный сервер написан с игнорированием RFC, так же и WinSCP начиная с v5.10 beta 3 игнорирует RFC-1738 это не делает их эталоном раз, и из их авторов не приходится как из вас тащить подробности с помощью дыбы и пыточных клещей, два. Я потратил свой время и просмотрел и вторую ссылку - по крайней мере я как иженер не вижу взаимосвязи событий.
Раз вы видите соответствие между Thu, 23 Nov 2017 21:03:00 GMT
и 0023, 23 11 2017 21:0223 'GMT'
, то, пожалуй, вам стоит приберечь свою язвительность для случаев, которые входят в сферу вашей иженерной компетенции. Спасибо за ваш потраченный время.
Можете продолжать бездоказательно обвинять. У вас сиё отлично получается.
Я привёл конкретный код из этого репозитория, который формирует конкретное значение.
Пожалуй, хватит вас кормить...
Ладно, давайте считать недорузумение из-за того что мы не поняли друг друга исчерпанным. Приношу свои извинения за недопустимый тон.
С формированием значения вы правы и тут надо проверять. Явно есть повод для проверки этого фрагмента алгоритма.
https://github.com/michaellukashov/Far-NetBox/blob/master/src/core/WebDAVFileSystem.cpp