Ja debugou o codigo perl?
Passei correndo aqui, mas me parece que este parametro nao vai funcionar
nunca ;)
my $host = ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/;;
tenta trocar por:
my $host =
hgdownload.cse.ucsc.eduftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/
;
e depois... um
cwd(/goldenPath/ce4/database/ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/)
antes do size!
Em algum ponto do debug, em 30 segundos... eu achei esta chamada:
DB2
IO::Socket::new(/usr/lib/perl/5.14/IO/Socket.pm:48):
48: return scalar(%arg) ? $sock-configure(\%arg)
49: : $sock;
DB2 x \%arg
0 HASH(0x1c7d808)
'LocalAddr' = undef
* 'PeerAddr' = 'http://10.46.10.19:3129'*
'PeerPort' = 'ftp(21)'
'Proto' = 'tcp'
DB3 n
Cannot connect to some.host.name: Net::FTP: Bad hostname '*
http://10.46.10.19:3129*' at f line 3.
at f line 3
Sendo mais efetivo...
Vc tem e usar hostname ou ip em Host!
Você tem de fazer login
Você pode mudar o diretorio corrente, ou buscar pelo site do path completo
do arquivo !
Você tem de usar o valor de size para saber que funcionou ;)
Gerência de mudanças... primeiro tem de funcionar sem proxy, depois vc
testa com ele!
Segue uma versão sem proxy funcionando...
PS: Desculpe meu mal humor... mas perdi o sono :(
use Net::FTP;
my $host = hgdownload.cse.ucsc.edu;
my $ftp = Net::FTP-new($host) #, Firewall = 'http://10.46.10.19:3129')
or die Cannot connect to some.host.name: $@;
$ftp-login(anonymous,'-anonymous@')
or die Cannot login , $ftp-message;
$ftp-cwd(/goldenPath/ce4/database/);
$ftp-binary;
print $ftp-size(all_est.txt.gz)
or die get failed , $ftp-message;
$ftp-quit;
exit;
Att,
Marco Andrade
Em 11 de março de 2013 14:51, Nicole Scherer
bionica2007-p...@yahoo.comescreveu:
Oi Renato e Tiago,
usando as instruções do pacote no cpan, eu obtive isto:
use Net::FTP;
my $host = ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/;;
my $ftp = Net::FTP-new($host, Firewall = 'http://10.46.10.19:3129')
or die Cannot connect to some.host.name: $@;
$ftp-size(all_est.txt.gz)
or die get failed , $ftp-message;
$ftp-quit;
exit;
---
- Primeira tentativa:
$ time perl teste_proxy.pl
Cannot connect to some.host.name: Net::FTP: Bad hostname '
http://10.46.10.19:3129' at teste_proxy.pl line 18.
- Segunda tentativa, tirando o http:// do proxy:
$ perl teste_proxy.pl
Cannot connect to some.host.name: at teste_proxy.pl line 18.
- em alguma tentativa, também obtive isto:
$ perl teste_proxy.pl
Cannot connect to some.host.name: Net::FTP: Bad hostname '
ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/' at teste_proxy.plline
18.
---
Alguma ideia, sobre o que estou fazendo errado?
[]'s
Nicole
--
*De:* Renato Santos renato.c...@gmail.com
*Para:* Nicole Scherer bionica2007-p...@yahoo.com
*Cc:* Perl Mongers Rio de Janeiro rio-pm@pm.org
*Enviadas:* Sexta-feira, 8 de Março de 2013 17:13
*Assunto:* Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy
Então você precisa verificar o seu proxy.
Mas como o Tiago disse,
porque vocẽ não conecta usando Net::FTP ? Ele tem modo anomimo.
2013/3/8 Nicole Scherer bionica2007-p...@yahoo.com
Sim, Renato,
usando o LWP::Simple::get($downloadfile) eu consigo baixar o arquivo
inclusive através do proxy.
Só o conteúdo do LWP::Simple::head($downloadfile) é que não é o mesmo com
ou sem proxy.
Não sei se é porque ele usa o head() do LWP::UserAgent, quando acionado o
$ua para o proxy.
[]'s
Nicole
--
*De:* Renato Santos renato.c...@gmail.com
*Para:* Nicole Scherer bionica2007-p...@yahoo.com; Perl Mongers Rio de
Janeiro rio-pm@pm.org
*Enviadas:* Sexta-feira, 8 de Março de 2013 17:01
*Assunto:* Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy
Existe a possibilidade do seu proxy não estar repassando essas informações
ou estar negando o acesso.
Você já tentou baixar o arquivo com o proxy ?
2013/3/8 Nicole Scherer bionica2007-p...@yahoo.com
Oi Mongers,
venho humildemente consultar o vasto conhecimento de vocês em prol da
pesquisa científica.
Preciso consultar o tamanho de um arquivo em um servidor ftp, antes de
decidir se o arquivo deverá ou não ser baixado.
Eu estava usando o LWP::Simple::head($url) para isto, e estava funcionando
bem, até eu ter que usá-lo através de um proxy.
O que acontece é o seguinte, usando sem proxy, eu consigo acessar as
informações sobre tamanho, formato, codificação, etc,
my $downloadfile =
ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/all_est.txt.gz;;
my ($content_type, $document_length, $modified_time, $expires, $server) =
LWP::Simple::head($downloadfile);
--- ou
if (my $res = LWP::Simple::head($downloadfile)) {
print $downloadfile ok\n; ### debug
p($res-{_headers});
} else {
print $downloadfile not available\n;