Обнаружение HTTP-клиента, используемого с HTTP-сервером? - PullRequest
3 голосов
/ 16 апреля 2010

Я использовал один и тот же запрос с двумя разными клиентами HTTP.Один из них принимается сервером (запрос Java в IE), а другой - нет (Indy Client в программном обеспечении Delphi)?Есть ли способ обнаружить разницу между двумя запросами?

Есть ли способ скрыть, я использую Indy?

С наилучшими пожеланиями

Ответы [ 7 ]

3 голосов
/ 17 апреля 2010

Я рекомендую Fiddler2, который вставляет себя в качестве прокси и записывает весь трафик http / https с хорошими инспекторами. http://www.fiddlertool.com/fiddler2/version.asp

2 голосов
/ 16 апреля 2010

UserAgent находится под свойством Request. По умолчанию строка агента пользователя Indy имеет вид «Mozilla / 3.0 (совместимо; библиотека Indy)». Измените его на текущую строку, используемую FireFox, IE или другим признанным браузером.

Примеры можно найти на сайте UserAgentString .

Более подробная информация содержится в Indy KB PDF .

1 голос
/ 16 апреля 2010

Вы должны говорить о User-Agent. Я не уверен, как вы установите его в Indy, но HTTP-заголовок User-Agent определяет, какой клиент используется, так что вы можете установить его, чтобы притвориться, что вы IE или другой браузер.

Кроме того, попробуйте использовать HTTP-сниффер (Scoop хорош для OSX), чтобы точно узнать, какие заголовки отправляются, чтобы убедиться, что вы ведете себя точно так же, как браузер.

0 голосов
/ 15 мая 2010

Я, наконец, использую TidTCPClient и сделал свой запрос POST вручную, и он работает сейчас (это уже давно).

Я до сих пор не понимаю, почему, но у меня нет времени позаботиться об этом.

0 голосов
/ 17 апреля 2010

Don's Proxy - хороший бесплатный инструмент для захвата HTTP-запросов. Когда вы пишете, что используете Java, я предполагаю, что JRE, необходимая для этого инструмента, уже установлена.

Затем сравните два запроса, используя TortoiseMerge или другую утилиту сравнения.

0 голосов
/ 16 апреля 2010

Я думаю, что вы лучше с Паросом. http://www.parosproxy.org/

Это позволит вам отслеживать, приостанавливать и настраивать HTTP-запрос на лету. Это хакерский инструмент, но он вам понравится.

0 голосов
/ 16 апреля 2010

wireshark / tcpdump - ваш друг в большинстве случаев, когда необходимо проанализировать http-запросы.

С помощью tcpdump вы можете записать запрос на сервер, а затем проанализировать собранные данные в wireshark.

...