[Cascavel-pm] Duvida Sobre HTTP module - libwww
Guilherme Sperb Machado
gsmachado em gmail.com
Segunda Outubro 9 12:49:32 PDT 2006
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
Mais detalhes sobre a lista de discussão Cascavel-pm