Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчет времени на оперделенном сайте, Можно ли организовать на С++? 
:(
    Опции темы
natureproj
Дата 19.9.2013, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток всем, кто читает эту тему. Есть идея. Для её осуществления нужна програмка, считающая время, проведённое на определенном сайте в любом из браузеров. Можно ли такое осуществить? Подходит ли C++ для того? Как это осуществить, что для этого потребуется?

PS. Программу должны скачивать пользователи и у них на компьютере она должна работать без мгожественных настроек.
PM MAIL   Вверх
kolobok0
  Дата 19.9.2013, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(natureproj @ 19.9.2013,  16:01)
...Можно ли такое осуществить? Подходит ли C++ для того? как это осуществить, что для этого потребуется?...

Можно.
Подходит.
Как вариант: Вы можете проенумеровать все поднятые TCP соединения. От них можете увидеть адреса(сайты), и процессы(кто использует). Если Вы в трафике TCP опознали HTTP то сохраняете адресс и имя программки.

удачи вам
(круглый)
PM MAIL   Вверх
IBS
Дата 19.9.2013, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Посмотрите в сторону расширений для браузеров, это будет менее универсально, но значительно проще

Это сообщение отредактировал(а) IBS - 19.9.2013, 20:01
PM MAIL   Вверх
baldina
Дата 19.9.2013, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(kolobok0 @  19.9.2013,  17:29 Найти цитируемый пост)
Если Вы в трафике TCP опознали HTTP то сохраняете адресс и имя программки.

и как подсчитать время, проведенное на сайте?

Добавлено через 13 минут и 5 секунд
временем, проведенным на странице, можно условно считать время, в течение которого страница была открыта до перехода к другой странице или закрытия браузера. условно, потому что никто не знает, рассматривает пользователь страницу, или ушел пить чай.
если речь идет о конкретном сайте, владельцем которого вы являетесь, это можно сделать легко и просто через javascript.
в противном случае - плагинами к браузерам, но, как уже сказано, это не универсально.

как через tcp отследить время я не понимаю smile но можно попробовать использовать косвенные данные (что будет гораздо менее точно, чем через javascript) о последовательности соединений. плюсов два: клиент может быть любой, и... такие программы уже есть, это http прокси. достаточно обработать лог прокси - и вуаля. простейший прокси можно реализовать самостоятельно (благо исходников и примеров на С++ в сети полно), основная проблема не сбор статистики, а её анализ

Добавлено через 14 минут и 56 секунд
кстати анализаторов статистики с построением отчетов для популярных прокси тоже немало, правда их редко на с++ пишут
PM MAIL   Вверх
akizelokro
Дата 20.9.2013, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Подсчёт времени, как правило, организуется через куки.
Как навесить куки? Проще через JavaScript, но можно и посредством С++.


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
disputant
Дата 21.9.2013, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(kolobok0 @ 19.9.2013,  17:29)
Как вариант: Вы можете проенумеровать все поднятые TCP соединения. От них можете увидеть адреса(сайты), и процессы(кто использует). Если Вы в трафике TCP опознали HTTP то сохраняете адресс и имя программки.

А поскольку всякие картинки и прочее содержимое может идти с других сайтов, есть риск, что дольше всего окажется просматриваем сайт с какими-то баннерами.

А так, как предложили организовать отсчет времени - так уж точно: например, скачалась основная страница, черех 0.1 секунды - пошли баннеры (значит, время на основной странице - 0.1с), после чего 10 минут читаем эту страницу, и эти 10 минут идут в зачет как рассматривание последнего баннера smile

Пожалуй, все же надо снимать адресную строку...
PM MAIL   Вверх
baldina
Дата 21.9.2013, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(akizelokro @  20.9.2013,  23:38 Найти цитируемый пост)
Подсчёт времени, как правило, организуется через куки.

можно поподробнее, правило видимо не всем известное?
PM MAIL   Вверх
akizelokro
Дата 21.9.2013, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Цитата(baldina @  21.9.2013,  14:37 Найти цитируемый пост)
можно поподробнее, правило видимо не всем известное? 

 это средство персонализации данных в браузерах, которую можно связать с определенными сайтами или страницами.

Но я неправ здесь, я не врубился в условия задачи. 
Если мультибраузерность и по различным сайтам, то нужен аналог файерволла и действительно цеплять все соединения. 
Но и здесь проблема, сколько времени засчитывать за нахождение. Если страница открыта у меня во вкладке 10 дней, но я её не просматриваю, учитывать или нет. Как учитывать кэширование. Как обрабатывать HHTPWebRequest и ajax - запросы. Как прокси запросы.





--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
baldina
Дата 22.9.2013, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(akizelokro @  21.9.2013,  16:51 Найти цитируемый пост)
 это средство персонализации данных в браузерах

что такое куки я в курсе, вопрос как через них можно организовать подсчет времени, проведенном на сайте. думаю, никак. но если я неправ, и способ есть - поделитесь, как это делают. как правило.
PM MAIL   Вверх
akizelokro
Дата 23.9.2013, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Цитата(baldina @  22.9.2013,  21:25 Найти цитируемый пост)
что такое куки я в курсе, вопрос как через них можно организовать подсчет времени, проведенном на сайте. думаю, никак. но если я неправ, и способ есть - поделитесь, как это делают. как правило. 


А этого никто не делает, как правило. потому что задача в чистом виде не решается (за исключением плагинов и расширений, но и они будут фиксировать только время, которое вкладка была открыта (но не читалась, например. пример с 10 сутками существующей, но не просматриваемой вкладкой - реален).  Но и то при допущении, что удастся зафиксировать данные при закрытии браузера.
А в куки - время захода прописать можно. Как это сделать - надо вспоминать. Как связать время сеанса и как прочитайть данные из куки - другой вопрос, но тоже решаемый. 

Я просто "купился" на такое условие 
Цитата

Для её осуществления нужна програмка, считающая время, проведённое на определенном сайте в любом из браузеров.
 и посчитал, что именно на каком-то определенном сайте. Ну, потом понял, что не о том говорится, а о выборке по всем сайтам и понял, что вариант с куками не пройдёт. 
А с куками.. и не такую информацию туда пишут. Правда, к браузеру не через С++, а вот тут я как раз протупил.

Это сообщение отредактировал(а) akizelokro - 23.9.2013, 01:22


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
vinter
Дата 25.9.2013, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Посмотрите мою статью по выдиранию URL из браузера. Всё, что там описано было использовано в реальном проекте и прекрасно работало 2 года назад. Возможно нужно будет немного адаптировать под современные браузеры, т.к. что-то могло поменяться. В целом там информации достаточно, чтобы реализовать то, что Вы хотите без особой мороки.


--------------------
Мой блог
PM MAIL WWW   Вверх
akizelokro
Дата 25.9.2013, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Цитата(vinter @  25.9.2013,  12:25 Найти цитируемый пост)
Посмотрите мою статью по выдиранию URL из браузера.

Спасибо, ссылка интересная.
Кстати, 15-я Опера перешла на Вебкитовский движок. Скорее всего, там придётся вносить изменения, потому что кое-что поменялось. Плагины в старом формате "не пляшут", например.



--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
vinter
Дата 25.9.2013, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Да, только что посмотрел, там теперь SQLite. Но раз она основана на Chromium надо пробовать вариант использованный с Chrome.

Добавлено через 1 минуту и 20 секунд
Посмотрел Spy'ем: там надо построит иерархию из окон и получать вкладку. Так что да, все как с Chrome и IE. Ничего сложного


--------------------
Мой блог
PM MAIL WWW   Вверх
akizelokro
Дата 25.9.2013, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Цитата(vinter @  25.9.2013,  18:01 Найти цитируемый пост)
Посмотрел Spy'ем: там надо построит иерархию из окон и получать вкладку. Так что да, все как с Chrome и IE. Ничего сложного 


А private-вкладки там тоже считываются?


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
vinter
Дата 25.9.2013, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



В хроме? Честно говоря не знаю. Я никогда им не пользовался и не знаю где там приватные вкладки. Но, полагаю, что никаких проблем там не возникнет в силу того, что приватная вкладка это пометка для внутренностей браузера: не следить и не сохранять. Она ничем не отличается, скорее всего, от публичной вкладки в плане окон и их иерархий. Всё таки приватная вкладка сделана не для защиты от внешнего просмотра.

Посмотрел в 16 опере. там какой-то приватный режим в отдельном окне. Так же Spy'ем ловится.


--------------------
Мой блог
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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