Страница 1 из 1

? по LWP:UserAgent (perl)

Добавлено: 07 апр 2006, 01:22
dfcz1
Здраствуйте!

Помогите разобраться.
написал типа www клиента (по примерам)

use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$url='http://www.google.ru/'#для примера
$request = HTTP::Request->new('GET', $url);
$response = $ua->request($request);
if ($response->is_success) {
open(ff,">content.html");
print ff $response->content;
close(ff);
}else{
print "Error: " . $response->status_line . "\n";
}


При запросе(смотрю снифером) в заголовке :

GET / HTTP/1.1
TE: deflate,gzip;q=0.3
Connection: TE, close
Host: http://www.google.ru
User-Agent: libwww-perl/5.805


Что такое TE?! И как его менять или убрать(методом remove_header не удаляется)?

Покапался по модулям, вроде это устанавливается на более низком уровне(NET::HTTP). Но как отключить так и не понял.

Добавлено: 07 апр 2006, 16:06
AiK
$ua->agent("James Bond 007");

Добавлено: 07 апр 2006, 16:09
AiK
Сорри. Вопрос не так сначала понял.
RFC 2616 HTTP/1.1 June 1999


14.39 TE

The TE request-header field indicates what extension transfer-codings
it is willing to accept in the response and whether or not it is
willing to accept trailer fields in a chunked transfer-coding. Its
value may consist of the keyword "trailers" and/or a comma-separated
list of extension transfer-coding names with optional accept
parameters (as described in section 3.6).

TE = "TE" ":" #( t-codings )
t-codings = "trailers" | ( transfer-extension [ accept-params ] )

The presence of the keyword "trailers" indicates that the client is
willing to accept trailer fields in a chunked transfer-coding, as
defined in section 3.6.1. This keyword is reserved for use with
transfer-coding values even though it does not itself represent a
transfer-coding.

Добавлено: 07 апр 2006, 18:08
dfcz1
А поконкретнее, как убрать эту строчку в заголовке, подскажешь?

Мне нужно замаскироваться под explorer,
с другими полями без проблем.

Добавлено: 07 апр 2006, 18:13
AiK
Добавь заголовок Connection: keep-alive.

Добавлено: 08 апр 2006, 00:28
dfcz1
Пробовал, TE не убирается , а в заголовоке значения неадекватные -
Connection: keep-alive, TE, close

Вообще, в заголовке "Connection"заначение TE, close меняется на keep-alive, таким способом (тоже из примеров в документации)

use LWP::ConnCache;
$ua = LWP::UserAgent->new;
$ua->conn_cache(LWP::ConnCache->new());

Но, от заголовка "TE:" всёравно не избавляет :(