Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> записать число в заголовок страницы, в Header или куда? 
:(
    Опции темы
ImSave
Дата 20.9.2009, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 4.9.2009

Репутация: нет
Всего: нет



есть код сервера:
Код

# при подключении браузера получаю объект запроса в $request
while (my $request = $conn->get_request) {
          # записываю тело ЗАПРОСА в файл (в качестве теста - для просмотра)
          print PH $request->as_string, "\n <--- запрос принят\n"; 
          

          $conn->autoflush;

          # посылаем запрос через серверный браузер и получаем объект ответа в $resp,
          # т.е. получаем\скачиваем то что запросил клиентский браузер
          my $resp = $ua->simple_request($request);

          # В переменной $c_cont содержатся данные ответа
          my $c_cont = $resp->content;

          # Тут узнаю размер этих данных
          my $STSize = length($c_cont);
          
          # !!! 
          # !!!тут нужно записать это число в данные ответа!!!
          # !!! 
           
          # посылаем ответ домашнему браузеру
          $conn->send_response($resp);
          
          # записываю тело ОТВЕТА в файл (в качестве теста - для просмотра) + записываю размер
          print PH $resp->as_string, "\n";
          print PH $STSize, " <-size \n <--- данные отправлены\n";
...

Пожалуйста подскажите как записать число в тело ответа. smile 

Это сообщение отредактировал(а) ImSave - 20.9.2009, 14:00
PM MAIL   Вверх
dmitryk1
Дата 20.9.2009, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 10.6.2008
Где: Новосибирск

Репутация: 2
Всего: 2



Так а просто:

Код

print PH " $resp->as_string \n  $STSize <-size \n <--- данные отправлены\n";


не получается?
PM MAIL GTalk Jabber   Вверх
ImSave
Дата 21.9.2009, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 4.9.2009

Репутация: нет
Всего: нет



Цитата(dmitryk1 @ 20.9.2009,  20:05)
Так а просто:

Код

print PH " $resp->as_string \n  $STSize <-size \n <--- данные отправлены\n";


не получается?

это вы к чему, строчки эти для теста !!! (тем более проверьте то, что вы написали smile ). 
Суть вопроса не в этом!
PM MAIL   Вверх
dmitryk1
Дата 22.9.2009, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 10.6.2008
Где: Новосибирск

Репутация: 2
Всего: 2



А что я неправильно написал? 

И тогда я не понял вопроса. Судя по активности отвечающих не я один...

Внутрь переменной $resp->content надо добавить? Если это свойство ридонли, то только создавая новую переменную-объект с нужными параметрами и туда записать что угодно. И его и отправлять обратно.
PM MAIL GTalk Jabber   Вверх
ImSave
Дата 22.9.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 4.9.2009

Репутация: нет
Всего: нет



Цитата(dmitryk1 @ 22.9.2009,  10:29)
Внутрь переменной $resp->content надо добавить?

Да! smile 

Смысл в том, чтобы к передаваемым данным прикреплять некое число = размеру этих данных. Куда его только и как засунуть? smile 
Сорри, если опять непонятно...не знаю как лучше объяснить.
PM MAIL   Вверх
ginnie
Дата 22.9.2009, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



ImSave, чтобы было понятнее, напишите, зачем Вам нужно размер данных засовывать в ответ? Вам нужен заголовок "Content-Length"? Если $resp объект класса HTTP::Response (справедливо, если $ua - объект LWP::UserAgent), то используйте 
Код

$rest->content_length($STSize);



--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
ImSave
  Дата 22.9.2009, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 4.9.2009

Репутация: нет
Всего: нет



Цитата(ginnie @ 22.9.2009,  12:15)
Если $resp объект класса HTTP::Response (справедливо, если $ua - объект LWP::UserAgent),

да:
Код

use HTTP::Daemon;
use LWP::UserAgent;
....
my $ua = LWP::UserAgent->new;
....
my $resp = $ua->simple_request($request); # в $request - тело запроса
....



мммм...вобщем мне нужно в ответ запихнуть свое число (размер - это я для примера привел, неудачно, прошу прощения).

но даже если сделать для проверки:
Код

my $STSize = 12345;
$resp->content_length($STSize);
...

то все-равно клиенту возвращается истинный размер, а не то что я хотел!

А может можно как-то создать свое поле в теле ответа ? типа Сontent-MyChislo: ??? Еще раз прошу прощения за возможную тупость, новичек я. smile
PM MAIL   Вверх
ginnie
Дата 22.9.2009, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



ImSave, если не читать документацию, то в жизни все будет даваться с большим трудом (смотри описание модуля HTTP::Headers):

Код

$resp->header('Сontent-MyChislo' => $STSize);



--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
ImSave
Дата 22.9.2009, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 4.9.2009

Репутация: нет
Всего: нет



Цитата(ginnie @ 22.9.2009,  13:56)
Код

$resp->header('Сontent-MyChislo' => $STSize);

 smile  Спасибо вам огромное!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.