Добавлен alexprey,
опубликован
Программирование
Язык:
C#
Доброй ночи, XGM!!!
Недавно обратил внимание на такую скромную, но достаточно популярную вещь на нашем сайте, в частности форуме - оффтоп зона, кто не знает что это, вперед на форум и листаем вниз страницы.
Стало очень интересно как была реализована эта интересная штука. Немного покопавшись в исходниках страницы и скриптах, нашел очень интересный запрос, благодаря которому держится вся эта штуковина. Немного изучив передаваемые параметры, понял что писали хорошие люди =) Лишнее число постов из чата не получишь, что очень удобно. Решил таки прокачать скилл работы с запросами на C#.
Пораскинул мозгами, подумал, а что вроде ничего сложного, чтобы реализовывать простенький клиент. Быстро набросал код для получения списка последних сообщений. После первого же теста, потерпел неудачу. Вернулся не тот код, который я ожидал. Я был просто в шоке - опера, выдает одно, программа другое. потом все таки вспомнил, что есть куки =). Перебрал все куки, нашел подходящие и все заработало. Теперь у меня есть получение списка недавних сообщений из оффтопки форума.
Дальше решил прикрутить аватарки пользователей. Посмотрел пару профилей, как формируются URI авы, но увы не доперло. В итоге оказалось, что там как то криворуко всё сделано, хотя это еще мягко сказано, URI зависит от кол-ва ранее загруженных картинок в профиль. В общем бред полный. Пришлось грузить страницу профиля и тырить от туда. Ну это еще фигня. Сделалось за один присест. Дальше сделал отправку сообщений, ну это было не сложно, простой POST запрос и никаких подводных камней. Но всё это я пока что делал со статическими кукисами, скопированными вручную из оперы. Пришло время пилить авторизацию. Вот тут то я и встретил 1000 и еще 24 камня проблем. Решил попробовать авторизацию через форму входа форума. Посмотрел код формы, проверил всё это прокси. Собрал запрос. Выполняю его, и ...
... получаю фиг с маслом. Сравниваю запрос от оперы и от моего приложения. Идентичны, но почему то опере в ответ приходят новые куки с подтвержением авторизации, выдачей пользователя и пароля сессии. Моему же приложению, как говорил выше ничего. Мучился с этой фигней пару дней. Забил. Вот буквально пару часов назад загорелся идеей доделать эту гребаную авторизацию. Поэтому вооружившись моим треклистом с металлом и здравым смыслом, открыл прокси с оперой и стал изучать процесс авторизации. После часа бредовых идей, наконец то понял всю тайну, спасибо кст. скорпу, что немного намекнул. В общем прикрутив авторизацию я получил такой вот простенький клиент.
Недавно обратил внимание на такую скромную, но достаточно популярную вещь на нашем сайте, в частности форуме - оффтоп зона, кто не знает что это, вперед на форум и листаем вниз страницы.
Стало очень интересно как была реализована эта интересная штука. Немного покопавшись в исходниках страницы и скриптах, нашел очень интересный запрос, благодаря которому держится вся эта штуковина. Немного изучив передаваемые параметры, понял что писали хорошие люди =) Лишнее число постов из чата не получишь, что очень удобно. Решил таки прокачать скилл работы с запросами на C#.
Пораскинул мозгами, подумал, а что вроде ничего сложного, чтобы реализовывать простенький клиент. Быстро набросал код для получения списка последних сообщений. После первого же теста, потерпел неудачу. Вернулся не тот код, который я ожидал. Я был просто в шоке - опера, выдает одно, программа другое. потом все таки вспомнил, что есть куки =). Перебрал все куки, нашел подходящие и все заработало. Теперь у меня есть получение списка недавних сообщений из оффтопки форума.
Дальше решил прикрутить аватарки пользователей. Посмотрел пару профилей, как формируются URI авы, но увы не доперло. В итоге оказалось, что там как то криворуко всё сделано, хотя это еще мягко сказано, URI зависит от кол-ва ранее загруженных картинок в профиль. В общем бред полный. Пришлось грузить страницу профиля и тырить от туда. Ну это еще фигня. Сделалось за один присест. Дальше сделал отправку сообщений, ну это было не сложно, простой POST запрос и никаких подводных камней. Но всё это я пока что делал со статическими кукисами, скопированными вручную из оперы. Пришло время пилить авторизацию. Вот тут то я и встретил 1000 и еще 24 камня проблем. Решил попробовать авторизацию через форму входа форума. Посмотрел код формы, проверил всё это прокси. Собрал запрос. Выполняю его, и ...
... получаю фиг с маслом. Сравниваю запрос от оперы и от моего приложения. Идентичны, но почему то опере в ответ приходят новые куки с подтвержением авторизации, выдачей пользователя и пароля сессии. Моему же приложению, как говорил выше ничего. Мучился с этой фигней пару дней. Забил. Вот буквально пару часов назад загорелся идеей доделать эту гребаную авторизацию. Поэтому вооружившись моим треклистом с металлом и здравым смыслом, открыл прокси с оперой и стал изучать процесс авторизации. После часа бредовых идей, наконец то понял всю тайну, спасибо кст. скорпу, что немного намекнул. В общем прикрутив авторизацию я получил такой вот простенький клиент.
Скачать чат
Качаем, пробуем, комментируем
Качаем, пробуем, комментируем
Поскольку другие хостинги изображений запретили, а screenweb не поддерживается, то я в следующий раз попробую написать простенький скриншотер для xgm, уже есть идеи реализации.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Hanabishi
на скринах автора сабжа
ладно, это уже оффтоп
вот поэтому нужны древовидные комменты, но это тоже оффтоп
Elrat, дело не в этом, у меня тож семерка. Тут скорее всего дело в чем то другом. Но что то даже нет предположений
В-третьих, получил опыт
а ещё:
Ну, в общем для сумрака там у tr class=deleted, а для репортов report