Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy
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
Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy
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.pl line 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; ### debug } --- e quando uso use LWP::Simple qw($ua head); $ua-proxy([qw(http ftp wais)], 'http://10.46.10.19:3129'); para definir o proxy, ele não retorna estas informações. Se eu mandar imprimir $res-{_headers}, tenho isso: --- rodando sem proxy HTTP::Headers { public methods (38) : as_string, authorization, authorization_basic, clear, client_date, content_encoding, content_is_html, content_is_text, content_is_xhtml, content_is_xml, content_language, content_length, content_type, content_type_charset, date, expires, from, header, header_field_names, if_modified_since, if_unmodified_since, init_header, last_modified, new, proxy_authenticate, proxy_authorization, proxy_authorization_basic, push_header, referer, referrer, remove_content_headers, remove_header, scan, server, title, user_agent, warning, www_authenticate private methods (5) : _basic_auth, _date_header, _header, _process_newline, _sorted_field_names internals: { client-date = Fri, 08 Mar 2013 19:33:58 GMT, client-request-num = 1, content-encoding = gzip, content-length = 14169205, content-type = text/plain, last-modified = Mon, 14 Mar 2011 16:52:05 GMT, server = FTP Server } } --- com proxyHTTP::Headers { public methods (38) : as_string, authorization, authorization_basic, clear, client_date, content_encoding, content_is_html, content_is_text, content_is_xhtml, content_is_xml, content_language, content_length, content_type, content_type_charset, date, expires, from, header, header_field_names, if_modified_since, if_unmodified_since, init_header, last_modified, new, proxy_authenticate, proxy_authorization, proxy_authorization_basic, push_header, referer, referrer, remove_content_headers, remove_header, scan
Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy
Já debugou com um wireshark da vida? []s, Marcio Ferreira skype: marcio.ferreir4 (21) 8365-7768 2013/3/11 Nicole Scherer bionica2007-p...@yahoo.com 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; ### debug } --- e quando uso use LWP::Simple qw($ua head); $ua-proxy([qw(http ftp wais)], 'http://10.46.10.19:3129'); para definir o proxy, ele não retorna estas informações. Se eu mandar imprimir $res-{_headers}, tenho isso: --- rodando sem proxy HTTP::Headers { public methods (38) : as_string, authorization, authorization_basic, clear, client_date, content_encoding, content_is_html, content_is_text, content_is_xhtml, content_is_xml, content_language, content_length, content_type, content_type_charset, date, expires, from, header, header_field_names, if_modified_since, if_unmodified_since, init_header, last_modified, new, proxy_authenticate, proxy_authorization, proxy_authorization_basic, push_header, referer, referrer, remove_content_headers, remove_header, scan, server, title, user_agent, warning, www_authenticate private methods (5) : _basic_auth, _date_header, _header, _process_newline, _sorted_field_names internals: { client-date = Fri, 08 Mar 2013 19:33:58 GMT, client-request-num = 1, content-encoding= gzip, content-length = 14169205, content-type= text/plain, last-modified = Mon, 14 Mar 2011 16:52:05 GMT, server = FTP Server } } --- com proxy HTTP::Headers { public methods (38) : as_string, authorization, authorization_basic, clear, client_date, content_encoding, content_is_html, content_is_text, content_is_xhtml, content_is_xml, content_language, content_length, content_type, content_type_charset, date, expires, from, header, header_field_names