WCAT возвращает 400 неверных запросов для всех запросов? - PullRequest
1 голос
/ 07 октября 2010

Я опубликовал это на форумах IIS, но ответов не было. Поэтому я решил попробовать здесь.

Я использовал WCAT 5.2 раньше, и это работало нормально. Я пытаюсь запустить клиент и сервер, а также IIS 7 на моей локальной машине. По какой-то причине для каждого URL, который я запрашиваю, статус всегда равен 400 (неправильный запрос). Когда я просматриваю логи htterr, причина в том, что имя хоста ???

Из протокола httperr:

#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri sc-status s-siteid s-reason s-queuename 2010-10-06 04:02:15 127.0.0.1 43252 127.0.0.1 80 HTTP/1.1 GET /ds/test.html 400 - Hostname -

Exe Command

wcat.wsf -terminate -run -t uad.ubr -f settings.ubr -singleip -x

Settings.ubr

settings
{

    clientfile     = "uad.ubr";
    server         = "localhost";
    clients        = 1;
    virtualclients = 10;

    counters
    {
        interval = 10;

        counter = "Processor(_Total)\\% Processor Time";
        counter = "Processor(_Total)\\% Privileged Time";
        counter = "Processor(_Total)\\% User Time";
        counter = "Processor(_Total)\\Interrupts/sec";

        counter = "Memory\\Available KBytes";

        counter = "Process(w3wp)\\Working Set";

        counter = "System\\Context Switches/sec";
        counter = "System\\System Calls/sec";

        counter = "Web Service(_Total)\\Bytes Received/sec" ; 
        counter = "Web Service(_Total)\\Bytes Sent/sec" ; 
        counter = "Web Service(_Total)\\Connection Attempts/sec" ; 
        counter = "Web Service(_Total)\\Get Requests/sec" ; 
    }

    registry
    {
        path = "System\\CurrentControlSet\\Control\\FileSystem";
        name = "NtfsDisableLastAccessUpdate";
        type = REG_DWORD;
    }

    registry
    {
        path = "System\\CurrentControlSet\\Services\\Tcpip\\Parameters";
        name = "SynAttackProtect";
        type = REG_DWORD;
    }
}

Клиентский файл (uad.ubr)

scenario
{
    warmup      = 5;
    duration    = 10;
    cooldown    = 5;

    default
    {
        // HTTP1.1 request
        version = HTTP11;
    }

    transaction
    {
        id = "1";
        weight = 1;

        request
        {
            url = "/ds/test.html";
        }
    }
}

1 Ответ

6 голосов
/ 11 октября 2010

Сервер возвращает 400 неверных запросов, так как отсутствует некоторая информация заголовка, вам нужно добавить «Хост» в элемент запроса.

request
{         
        url = "/ds/test.html";

        setHeader
        {
            name = "Host";
            value = "127.0.0.1";
        }
}
...