Как смоделировать HTTP-запрос, используя WatiN с конкретным HTTP-реферером и строкой запроса? - PullRequest
0 голосов
/ 06 декабря 2010

Когда я использую WatiN для перехода на определенную веб-страницу, как я могу подделать реферер HTTP со строкой запроса (то есть запрос от поиска Google со строкой запроса q =искать термин)?Таким образом, я могу убедиться, что заголовок ответа имеет редирект 301 для определенного URL-адреса реферера.

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

Я использую ASP.NET с C #.

Спасибо!

//WatiN
Browser.GoTo(url);

Ответы [ 2 ]

1 голос
/ 06 декабря 2010

Мне нужно было сделать что-то похожее на ниже:

// session is a custom version of FiddlerCore.Fiddler
// details about BeforeRequest -> http://fiddler.wikidot.com/fiddlercore-demo
session.BeforeRequest += sess =>
    sess.oRequest
        .headers
        .Add(
            "Referer",
            "http://www.i-am-middle-man.com/q=black"
        );

session.BeforeResponse += sess =>
        {
            //sess.oResponse.headers.HTTPResponseCode
            //sess.oResponse.headers["Host"]
        };

var handler = WatiNHandler(BrowserTypes.IE);
handler.GoTo("http://www.my-url.com/");
0 голосов
/ 06 декабря 2010

Возможно, я упускаю суть того, что вы пытаетесь сделать, но я не думаю, что WatiN способен подделать реферера.

WatiN управляет реальными браузерами, поэтому он не работаетподделки.Если вы хотите, чтобы у страницы был определенный реферер, вам нужно связать ее с этим реферером.

Как вы предполагаете, Fiddler гораздо лучше подходит для такого рода вещей.Если вы хотите, вы можете изменять запросы на лету, используя пользовательские правила, так что реферер - это то, что вам нравится.Вам не нужно использовать Fiddlercore для этого.Может быть достаточно запустить Fiddler в качестве клиентского прокси или на вашем сервере в качестве обратного прокси.

...