PERL: разные учетные данные на одном сервере - PullRequest
0 голосов
/ 21 ноября 2019

У меня есть защищенный ftp со следующими учетными данными:

host: x.x.x.x
username: username1
password: password1

После этого я создал каталог в ftp и защитил его другими учетными данными:

path: x.x.x.x/newDirectory/
username: username2
password: password2

Я пытался получить доступ к своей папке newDirectory, используя учетные данные, указанные в приведенном ниже коде perl:

use Net::FTP;

my $host="x.x.x.x/newDirectory/";
$ftp = Net::FTP->new->($host,Debug => 0) or die;
$ftp->login("username2",'password2') or die;

Мне было выдано сообщение об ошибке "Bad hostname".

1 Ответ

2 голосов
/ 21 ноября 2019

Ниже со страницы руководства Net :: FTP

   new ([ HOST ] [, OPTIONS ])
       This is the constructor for a new Net::FTP object. "HOST" is the
       name of the remote host to which an FTP connection is required.

Строка "x.x.x.x/newDirectory/ "не является допустимым именем хоста.

Вам необходимо войти на FTP-сервер,затем измените каталог на newDirectory. Вам нужно использовать метод cwd.

   cwd ( [ DIR ] )
       Attempt to change directory to the directory given in $dir.  If
       $dir is "..", the FTP "CDUP" command is used to attempt to move up
       one directory. If no directory is given then an attempt is made to
       change the directory to the root directory.

Попробуйте сделать что-то подобное (не проверено)

use Net::FTP;

my $host="x.x.x.x";
$ftp = Net::FTP->new->($host,Debug => 0) or die;
$ftp->login("username2",'password2') or die;
$ftp->cwd("newDirectory");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...