? по LWP:UserAgent (perl)

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
dfcz1
Сообщения: 3
Зарегистрирован: 07 апр 2006, 01:12

Здраствуйте!

Помогите разобраться.
написал типа 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). Но как отключить так и не понял.
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

$ua->agent("James Bond 007");
Даже самый дурацкий замысел можно воплотить мастерски
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Сорри. Вопрос не так сначала понял.
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.
Даже самый дурацкий замысел можно воплотить мастерски
dfcz1
Сообщения: 3
Зарегистрирован: 07 апр 2006, 01:12

А поконкретнее, как убрать эту строчку в заголовке, подскажешь?

Мне нужно замаскироваться под explorer,
с другими полями без проблем.
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Добавь заголовок Connection: keep-alive.
Даже самый дурацкий замысел можно воплотить мастерски
dfcz1
Сообщения: 3
Зарегистрирован: 07 апр 2006, 01:12

Пробовал, 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:" всёравно не избавляет :(
Ответить