Отладка приложений, взаимодействующих с сервером (Charles)

Уроки по PHP, Javascript и т.п.

Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение Александр » 01 авг 2010, 14:40

Отладка приложений, взаимодействующих с сервером (инструкция по Charles)

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

После прочтения этого урока, вы узнаете, как легко можно узнавать какие запросы отправляет ваше приложение и какие ответы получает.
Для этих же целей вы можете использовать функционал своего браузера, например в Chrome и FireFox есть инструменты для отслеживания запросов, но описанный в этой теме способ может оказаться значительно удобней и эффективней при разработке приложений.

Нам понадобиться сниффер - программа, которая позволяет анализировать трафик.
С помощью такой программы, вы сможете видеть исходящие запросы вашего браузера и полученные ответы.
Запросы к вашему серверу и к серверу api.vkontakte.ru будут отображены в программе.


Когда-то я использовал HTTPLook, но триальная версия очень ограниченная.
Сейчас использую Charles. Триальной версии достаточно. Скачать можно здесь http://www.charlesproxy.com/download/
Можете попробовать использовать другие анализаторы трафика, но тогда вам придется разбираться в них самим.


Я использую браузер Opera и поэтому опишу как работать с Charles в этом браузере.
Если вы пользуетесь браузером Mozilla FireFox, то нужно будет скачать ещё вот это дополнение http://www.charlesproxy.com/charles.xpi
Если используете Internet Explorer, то меняйте свой браузер на другой! :)


Настройка браузера Opera для работы с Charles

Настройки -> Общие настройки -> Расширенные -> Сеть -> Прокси-серверы

Изображение
Ставим галочку у HTTP, пишем в поле "127.0.0.1", а в поле Порт - "8888". Нажимаем Ок и ещё раз Ок.

Если вы не меняли настройки Charles и ваше интернет соединение не использует прокси, то эти данные подойдут.
Если используете прокси или меняли настройки, то попробуйте настроить самостоятельно.

Если после изменения настроек, вы не запустите Charles, то страницы в браузере перестанут открываться. Так и должно быть. Запустите Charles и интернет заработает.
После того, как вы протестируете приложение и закроете Charles, зайдите в настройки Прокси-серверов в опере и снимите галочку у HTTP, чтобы браузер снова открывал страницы.
Кстати, триальная версия Charles, через пол часа работы выдаст сообщение и том, что вы используете пробную версию и завершит работу. Просто запустите снова.


Charles

В Charles активируем захват трафика, если это не сделано.
Седьмая иконка слева (Start/Stop Recording) должна быть нажата.

Изображение

Попробуйте открыть какую-нибудь страницу в браузере и посмотрите на поле Structure в Charles слева. Там должна появиться информация.

Изображение

Кликая по плюсикам в левой части, будут открываться подпункты.
Кликая на эти подпункты, вы увидите дополнительную информацию в правой части окна. Эти подпункты - это структура адресов, к которым обращался браузер.

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

Изображение

Кликая на вкладки внизу этого окна, можно увидеть дополнительную информацию:
Query String - параметры, которые были переданы (если они передавались) на страницу,
Headers - заголовки,
Cookies - куки.

На вкладке Response можно увидеть какой ответ возвратил сервер на этот запрос.

Изображение

Внизу этого окна можно поменять вид отображения.


Другие вкладки тоже показывают информацию, но в данном случае она не так важна. Можете самостоятельно покликать и изучить.


Того что вы узнали достаточно, чтобы тестировать взаимодействие своего приложения с сервером.

В итоге, для тестирования своего приложения, загруженного в интернет:
1. Запускаете браузер и Charles.
2. Делаете какие-то действия, чтобы ваше приложение отправило запрос.
3. Смотрите в Charles переданный запрос (вкладка Request) и сравниваете с тем, что вам нужно было сделать.
Вы сможете увидеть, был ли вообще передан запрос. Если что-то не так, то возможно, ошибка именно здесь.
4. Смотрите полученный ответ (вкладка Response). Сверяете с тем, что ожидали получить.

За это сообщение автора Александр поблагодарили - 5:
agni, Cadmy, sergik, ukhov, 112
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение Noise Gate » 02 авг 2010, 08:18

Для FF я бы рекомендовал LiveHTTPHeaders: https://addons.mozilla.org/ru/firefox/addon/3829/
Еще иногда сам использую Poster: https://addons.mozilla.org/ru/firefox/addon/2691/

За это сообщение автора Noise Gate поблагодарили - 2:
FireStorm3000, yashqai
Noise Gate

 
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34
Откуда: СПб
Благодарил (а): 31 раз.
Поблагодарили: 64 раз.

Re: Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение FireStorm3000 » 03 авг 2010, 08:49

О спасибо) за ФФ особенно
У каждого свой демон (Гороскопы друзей)
http://vkontakte.ru/app1666633
Аватара пользователя
FireStorm3000

 
Сообщения: 80
Зарегистрирован: 03 янв 2010, 18:17
Благодарил (а): 5 раз.
Поблагодарили: 2 раз.

Re: Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение 112 » 21 авг 2010, 19:25

только щас осознал насколько это нужный урок!!!
Если ты дебил ,оставайся им!
Я бы изменил мир,но Бог не дает исходники!
Изображение
Аватара пользователя
112
Модератор
Модератор
 
Сообщения: 2215
Зарегистрирован: 02 фев 2010, 21:53
Благодарил (а): 51 раз.
Поблагодарили: 80 раз.

Re: Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение Doker » 21 авг 2010, 19:29

пользуюсь чарлесом уже пол года
my icq numbers: 403305362 и 484613
Аватара пользователя
Doker
Модератор
Модератор
 
Сообщения: 1026
Зарегистрирован: 07 май 2010, 18:53
Благодарил (а): 35 раз.
Поблагодарили: 52 раз.

Re: Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение Cadmy » 29 авг 2010, 23:25

Спасибо, программа еще, кстати, требует Java Vm. Когда установил все нормально заработало. здесь можно скачать: http://www.java.com/ru/download/manual.jsp?locale=ru&host=www.java.com:80#win. Кувшинчик красивый
Полагаю техничекски это возможно, но я уже в пижаме
Аватара пользователя
Cadmy

 
Сообщения: 35
Зарегистрирован: 29 авг 2010, 21:12
Благодарил (а): 8 раз.
Поблагодарили: 1 раз.

Re: Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение IbraM » 01 дек 2010, 23:38

Есть халявный очень даже сильный прокси-сниффер. Смысл работы как здесь впринципе, так что разбираться в нем не придется. Работает как локальный прокси серв. Через себя пропускает все и инфу детальную дает + в разных удобных видах может показывать (ХМЛ, картинка, вэб-стр и прочее)Авторасшифровка и распаковка и т.д. В общем, че описывать. называется Fiddler. Писано человечком из майкрософт, не зря такая хорошая вещь вышла. Да и писалось от души поэтому нахаляву отдают. http://www.fiddler2.com/fiddler2/
IbraM

 
Сообщения: 6
Зарегистрирован: 27 ноя 2010, 14:57
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение Noise Gate » 02 дек 2010, 20:43

Вот, кстати, еще одно расширение под ФФ. Работает из коробки.
https://addons.mozilla.org/ru/firefox/addon/6647/
Noise Gate

 
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34
Откуда: СПб
Благодарил (а): 31 раз.
Поблагодарили: 64 раз.

Re: Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение z1o » 10 апр 2011, 19:38

Пишет oшыбку Charles:
Charles писал(а): 
Failed to find Java VM
 
z1o

 
Сообщения: 15
Зарегистрирован: 07 апр 2011, 22:52
Благодарил (а): 6 раз.
Поблагодарили: 0 раз.

Re: Отладка приложений, взаимодействующих с сервером (Charles)

Сообщение Александр » 10 апр 2011, 19:59


За это сообщение автора Александр поблагодарил:
z1o
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

След.

Вернуться в Уроки на другие темы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0