Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy

2013-03-13 Por tôpico Marco A P D'Andrade
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

2013-03-11 Por tôpico Nicole Scherer
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

2013-03-11 Por tôpico Marcio Ferreira
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