[Cascavel-pm] Duvida Sobre HTTP module - libwww

Marco A P D'Andrade mdacwb em gmail.com
Segunda Outubro 9 14:22:14 PDT 2006


Guilherme,

Seu problema se limita a não enviar a string, ou vc quer fazer uso
real de keep-alive ?

Considerando que sua necessidade seja o segundo caso... Vc deve
utilizar o módulo LWP::ConnCache, que irá administrar a manutenção do
Socket...

Fiz pouco uso deste recurso, mais detalhes estas informações constam
no manual do LWP::UserAgent.

... cut ...
(see env_proxy() method below).  If the "keep_alive" option is passed
in, then a "LWP::ConnCache" is set up (see conn_cache() method below).
 The "keep_alive" value is passed on as the "total_capacity" for the
connection cache.
... cut ...

Sds,
Marco Antonio
Rio-PM

2006/10/9, Guilherme Sperb Machado <gsmachado em gmail.com>:
> Olá a todos...
>
> Seguinte, minha dúvida parece ser simples... só que não encontrei a
> solução nem na página da CPAN, nem na documentação da libwww. :)
>
> Bom, tenho um programa (que está abaixo) que faz algo bem simples...
> um POST (ou poderia ser um GET qualquer) com um httpd. No HTTP Request
> quero que somente os campos:
>
> POST / HTTP/1.1
>
> Connection: keep-alive
>
> Host: 127.0.0.1
>
> User-Agent: Qualquer-UserAgent/1.0
>
> Content-Type: text/plain
>
> Content-Length: 19666      ----> (o content-length certo)
>
> Só que, quando executo o script que fiz, ele coloca o field TE e
> Connection com outras opções que o módulo deve colocar por default. O
> que quero é RETIRAR para que o módulo não coloque isso
> "automaticamente". Um exemplo do HTTP Request gerado pelo script que
> anexei no final deste email é:
>
> POST / HTTP/1.1
>
> TE: deflate,gzip;q=0.3
>
> Connection: keep-alive, TE, close
>
> Host: 127.0.0.1
>
> User-Agent: Qualquer-UserAgent/1.0
>
> Content-Type: text/plain
>
> Content-Length: 19666          ----> (o content-length certo)
>
>
> ---------------------------------------------------------------------------------------
> ---------------------------------------------------------------------------------------
>
> O script está abaixo:
>
> #!/usr/bin/perl
>
> use HTTP::Headers;
> use HTTP::Request;
> use Crypt::SSLeay;
> use LWP::UserAgent;
>
> $headers = HTTP::Headers->new;
> $headers->user_agent('Qualquer-UserAgent/1.0');
> $headers->header('Content-Type' => 'text/plain'); # sei que estou
> mandando um gif e coloquei o content-type com text-plain... mas isso
> só eh pra teste... depois acerto tudo direitinho...
> $headers->header(':Connection' => 'keep-alive');
>
> $method = "POST";
> $uri = "http://localhost"
>
> open(DAT, "big-gif.gif");
> @content = <DAT>;
>
> $request = HTTP::Request->new($method, $uri, $headers);
>
> foreach $element (@content){
>         $request->add_content( $element );
> }
>
> $ua = LWP::UserAgent->new;
> $response = $ua->request($request);
>
> #print $request->as_string;
> print "\n\n -------------------------------\n\n";
> print $response->as_string;
>
>
>
>
> Obrigado desde já,
> Guilherme Sperb Machado
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


Mais detalhes sobre a lista de discussão Cascavel-pm