Существуют ли какие-либо инструменты для разграничения HTTP запросов / ответов - PullRequest
1 голос
/ 20 декабря 2008

Я пытаюсь отладить некоторые проблемы с очень сложными / сложными веб-сервисами, где некоторые из клиентов, которые теоретически делают одинаковые запросы, получают разные результаты. Отладочный прокси-сервер, такой как Charles, очень помогает, но поскольку запросы сложны (много заголовков, куки, строки запросов, данные формы и т. Д.), И клиенты создают заголовки в разных порядках (что должно быть совершенно приемлемо) и т. Д. чрезвычайно утомительный процесс, который нужно делать вручную.

Я размышляю над тем, чтобы написать что-нибудь, чтобы сделать это сам, но я надеялся, что кто-то другой уже решил эту проблему?

Кроме того, кто-нибудь знает о каких-либо чарльзоподобных прокси-серверах отладки, которые являются полностью открытыми? Если бы Чарльз был с открытым исходным кодом, я бы обязательно внес свою лепту в этот проект обратно в проект. Если есть что-то похожее, я бы предпочел сделать это, чем написать отдельную программу с нуля (особенно если учесть, что у Чарльза или любого другого аналога уже есть все структуры данных, которые мне могут понадобиться и т. Д.).

Edit: Просто чтобы быть ясным - различие текста не будет работать, так как порядок строк (например, заголовки по крайней мере) может отличаться и / или порядок значений в строках (например, куки по крайней мере) может отличаться и в обоих случаях до тех пор, пока имена, значения и метаданные одинаковы, разное упорядочение не должно приводить к тому, что запросы, которые в остальном одинаковы, считаются разными.

Ответы [ 3 ]

1 голос
/ 20 декабря 2008

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

0 голосов
/ 20 декабря 2008

Может ли прокси с открытым исходным кодом Squid возможно помочь?

0 голосов
/ 20 декабря 2008

Если для этой задачи ничего не создано, вы можете использовать захват пакетов, чтобы сохранить содержимое сообщения, сохраненное в текстовом файле (что-то, что вставляется в стек IP, например CommView). Вы можете отправлять текстовые сообщения для разных сообщений.

...