Во-первых, убедитесь, что ваш удаленный сервер вообще поддерживает вычисление контрольной суммы. Многие этого не делают. Я считаю, что нет даже стандартной команды FTP для вычисления контрольной суммы удаленного файла. Было много предложений и много проприетарных решений.
Последнее предложение:
https://tools.ietf.org/html/draft-bryan-ftpext-hash-02
Некоторые команды, которые можно использовать для расчета контрольные суммы: XSHA1
, XSHA256
, XSHA512
, XMD5
, MD5
, XCRC
и HASH
.
Вы можете проверить это с помощью FTP-клиента WinSCP . WinSCP поддерживает все ранее упомянутые команды. Протестируйте его функцию вычисления контрольной суммы или команду сценария checksum
. Если они работают, включите ведение журнала и проверьте, какую команду и какой синтаксис WinSCP использует против вашего сервера. (я автор WinSCP)
Как только вы узнаете, какую команду поддерживает ваш сервер (если есть), вы можете использовать FTP.voidcmd
метод :
ftp.voidcmd("XSHA1 " + filename)