Использование Fiddler для отладки эмулятора Windows Phone 7 - PullRequest
6 голосов
/ 22 июля 2010

Я недавно начал использовать обновленные бета-инструменты для Windows Phone 7 и столкнулся с интересной проблемой. Кажется, что при работе Fiddler любые запросы Http, выполняемые через эмулятор, начинают возвращать нулевой результат и создают веб-исключение «not found» Это легко воспроизвести с помощью WebClient.DownloadStringAsync (). Старые версии эмулятора работали с Fiddler, если я правильно помню. У кого-нибудь была удача заставить их работать вместе? Если это невозможно, я буду открыт для любого другого инструмента, который может помочь в отладке веб-запросов из эмулятора WP7.

Ответы [ 2 ]

2 голосов
/ 22 сентября 2010

Похоже, что есть сообщение в блоге , в котором описывается, как fiddler работает с Win Phone 7 с помощью некоторых настраиваемых правил для настройки Fiddler в качестве обратного прокси .

Вот немного инструкций с сайта Fiddler, но пост в блоге кажется немного более понятным (извините за дурацкий формат, цитата из блоков не сотрудничает):

Вариант № 1: настроить Fiddler как Обратный прокси Fiddler может быть настроен так, что любой трафик отправляется на http://127.0.0.1:8888 автоматически отправлено в другой порт на том же машина. Чтобы установить эту конфигурацию:

Запустить REGEDIT Создать новый DWORD с именем ReverseProxyForPort внутри HKCU \ SOFTWARE \ Microsoft \ Скрипач

Установите DWORD на локальный порт, который вы хотите перенаправить входящий трафик на (обычно порт 80 для стандартного HTTP сервер) Перезапустите Fiddler браузер до http://127.0.0.1:8888

Вариант № 2: Написать правило FiddlerScript Кроме того, вы можете написать правило это делает то же самое.

Скажем, у вас есть порт в порту 80 машин с именем WEBSERVER. Вы подключаетесь к сайту с помощью Internet Explorer Mobile Edition на Windows SmartPhone устройство для которого Вы не можете настроить веб-прокси. Вы хотите захватить трафик с телефон и ответ сервера.

Запустите Fiddler на веб-сервере машина, работающая на порте по умолчанию из 8888. Нажмите Инструменты | обманщик Параметры и убедитесь, что «Разрешить удаленный флажок для подключения клиентов проверено. Перезагрузите при необходимости. выберите Правила | Настройте правила. Внутри Обработчик OnBeforeRequest, добавить новый строка кода: если (oSession.host.toLowerCase () == "webserver: 8888") oSession.host = "Веб-сервер: 80"; На смартфоне перейдите к http://webserver:8888 Запросы со смартфона будут появляются в Fiddler. Запросы перенаправлен из порта 8888 в порт 80 где работает веб-сервер. ответы отправляются обратно через Скрипач к смартфону, который имеет понятия не имею, что содержание изначально пришел из порта 80.

1 голос
/ 12 августа 2010

Я не могу заставить Fiddler отслеживать трафик, поэтому я использую WireShark, который отлично работает.

...