2009-05-23 3 views
5

Я ищу, чтобы получить доступ ко всему HTTP-трафику на моей машине (моя машина Windows - не сервер). Из того, что я понимаю, есть локальный прокси-сервер, через который все пути трафика - это путь. Я был Googling, но не смог найти никаких ресурсов (в отношении Ruby), чтобы помочь мне. Любые советы или ссылки очень ценятся.Как поймать весь HTTP-трафик (локальный прокси)

ответ

11

Существует HTTP-прокси в WEBrick (часть Ruby stdlib) и here's пример реализации.

Если вам нравится жить на краю, также есть em-proxy от Ilya Grigorik.

Этот идентификатор post от Ilya подразумевает, что для решения вашей проблемы необходима определенная настройка.

+2

Я отправляю этот комментарий через WEBrick http proxy - Угадайте, что он работает :) – jrhicks

+0

Хорошо для вас! Хотя я не знаю, почему вы хотите это сделать. –

+0

Прокси-сервер webrick не вернет ответ браузеру, пока запрос на удаленный сервер не будет завершен, поэтому, если вы собираетесь запрашивать большие файлы, забудьте об этом. – knoopx

1

Имеет ли прокси-сервер, встроенный в Ruby, важный пункт здесь? Или просто «получить доступ ко всему HTTP-трафику на вашем компьютере»? Если последнее, есть бесплатная программа под названием HTTP Sniffer and Analyzer, которая может это сделать. Я не использовал его, но я видел, что он получил некоторые положительные отзывы. Есть еще несколько таких программ, хотя большинство из них, похоже, платят. В OS X, Linux и т. Д. Вы можете использовать встроенный tcpdump умными способами, чтобы получить аналогичный эффект.