NET :: FTP :: Comune

Semplifica gli utilizzi comuni della rete :: FTP
Scarica ora

NET :: FTP :: Comune Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • MIT/X Consortium Lic...
  • Prezzo:
  • FREE
  • Nome editore:
  • Terrence Brannon
  • Sito web dell'editore:
  • http://search.cpan.org/~tbone/

NET :: FTP :: Comune Tag


NET :: FTP :: Comune Descrizione

Semplificare gli utilizzi comuni della rete :: FTP NET :: FTP :: Comune è un modulo Perl destinato a rendere gli usi comuni della rete :: ftp una relazione di no-discername. In altre parole, hai la programmazione al 100% con rete :: ftp. Con Net :: FTP :: Common avrai configurazione del 95% e programmazione del 5%. Il modo in cui lo rende un affare una linea è che la prefazione comune del login, il CD, il tipo di file (binario / ASCII) è gestito per te. Il modo in cui fa uso di un affare senza argomenti è tirando le cose dall'Hash che lo ha configurato a tempo di costruzione. Se gli argomenti dovrebbero essere forniti a qualsiasi funzione API, queste modifiche vengono applicate all'Hash dello stato dell'oggetto e utilizzate da qualsiasi funzione di API futura che potrebbe averne bisogno. Lausa di questo modulo è destinata a essere semplice e stereotipata. I passaggi generali da utilizzare sono: * Uso netto :: FTP :: Common * Definire le informazioni di configurazione FTP Questo può essere inserito all'interno dello script ma spesso sarà memorizzato in un modulo per l'utilizzo in molti altri script. * Utilizzare una rete :: FTP :: Funzione API comune Nota Bene, non devi prima accedere prima. Tutte le funzioni API registrano automaticamente e passa alla directory configurata o specificata. Tuttavia, a volte è utile vedere se riesci a effettuare il login prima di tentare di fare qualcos'altro su un sito FTP. Questa è l'unica volta in cui avrai bisogno del metodo API di accesso ().synopsis nostro% netftp_cfg = (debug => 1, timeout => 120); La nostra% Common_cfg = (# # Le prime 2 opzioni, se non presenti, # portano a fare affidamento su .netrc per il login # utente => 'anonymous', pass => 'tbone@cpan.org', # # altre opzioni # localfile => 'delete.zip' # Imposta qualcosa per $ ez-> Get host => 'ftp.fcc.gov', # sovrascrittura ftp.microsoft.com predefinito localdir => '/ tmp', remotedir => '/', # CD automatico su macchina remota per remotedir type => 'a' # overwrite I (binario) tipo predefinito); # NOTA BENE!!! Un costruttore ARG è passato per riferimento, l'altro per valore. Questo è incoerente, ma è ancora una buona cosa. # Credimi! Ho pensato a questo. E ho una buona ragione per questo: # è per consentire la minima modifica del codice sorgente legacy net :: FTP. $ EZ = NET :: FTP :: Common-> nuovo (\% common_cfg,% netftp_config); # Possiamo accedere alla macchina? # Nota: non è mai necessario il primo login prima di chiamare # net :: FTP :: Funzioni API comuni. # Questa funzione è solo per il controllo per vedere se una macchina è attiva. # È pubblicato come parte dell'API perché l'ho trovato # utile quando si scrive script FTP che scansiona per il primo sito FTP disponibile per il caricamento. La semantica esatta # call-and-return per questa funzione è descritta # e giustificata di seguito. $ EZ-> Login o Die "Cant Login: $ @"; # Ottieni un elenco di una directory remota @Listing = $ EZ-> LS; # Elenciamo una directory diversa, un'over-riding e la modifica della directory # predefinita @Listing = $ EZ-> ls (remotedir => '/ pub / rfcs'); # Elenca il dir predefinito su diversi host @host_listings = map {$ ez-> ls (host => $ _)} @host_list # Prendiamo gli annunci di diverse directory @dir_listings = mappa {$ ez-> ls (remotedir = > $ _)} @dir_list; # Prendiamo un elenco dettagliato directory ... (grazie Kevin!)% Listing = $ EZ-> dir; # Nota Questo è un hash, non un valore di ritorno dell'array. ### Output rappresentative 'Test' => {'proprietario' => 'root', 'mese' => 'Jan', 'Linktarget' => Undef, 'Inode' => '1', 'Dimensione' => '6', 'Gruppo' => 'root', 'Yandortime' => '1999', 'Day' => '27', 'PERM' => '-RW-R - R--'}, ' ranc '=> {' proprietario '=>' root ',' Mese '=' Oct ',' Linktarget '=> Undef,' Inode '=>' 2 ',' Dimensione '=>' 4096 ',' GRUPPO '=>' root ',' yndortime '=> '00: 42', 'giorno' => '31', 'PERM' => 'DRWXR-XR-X'} # Ottieni un file dalla macchina remota $ EZ -> GET (remoteFile => 'codex.txt', localfile => '/tmp/crypto.txt'); # Prendi un file dalla macchina remota, specificando dir: $ ez-> get (remotefile => 'codex.txt', localdir => '/ tmp'); # Nota Bene: poiché la chiamata precedente ha impostato localFile, è ancora una parte # del negozio di oggetti. In altre parole questo esempio proverà # per memorizzare il file scaricato in /tmp/tmp/crypto.txt. # Meglio da dire: $ ez-> get (remotefile => 'codex.txt', localdir => '/ tmp', localfile => ''); # Invia un file alla macchina remota (* DONT * Usa Put!) $ EZ-> Invia (remotoFile => 'codex.txt'); # test per l'esistenza di un file sulla macchina remota (utilizzando = ~) @File = $ EZ-> GREP (GREP => QR / * TXT /); # Test per un file sulla macchina remota (utilizzando EQ) $ EZ-> esiste (remoteFile => 'necessaria-file.txt'); # Nota Questo non è altro che chiamare manualmente: # (Scalare GREP {$ _ EQ 'necessario-file.txt'} $ EZ-> ls)> 0; Prendiamo tutte le uscite scritte su STDERR a GOTO A LogFile My $ EZ = Net :: FTP :: Common-> New ({G, STDERR => $ logfile},% netftp_cfg); Requisiti: · Perl.


NET :: FTP :: Comune Software correlato