аутентификация с использованием Zend_Http_Client - PullRequest
3 голосов
/ 08 марта 2012

Я пытаюсь использовать Zend_Http_Client, чтобы сделать простой пост-запрос на сайте, который требует аутентификации.Кажется, все правильно, но я все еще получаю ошибку You are not authorized to view this page.Есть идеи, в чем может быть проблема?Я уверен, что имя пользователя и пароль верны

    $client = new \Zend_Http_Client('http://ncmcrm/sales_summary/activity_range.asp');

    $client->setHeaders('WWW-Authenticate', 'Negotiate');

    $client->setParameterPost(array(
            'from_day'  => 1,
            'from_month'   => 1,
            'from_year' => 2012,
            'to_day' => 31,
            'to_month' => 1,
            'to_year' => 2012,
            'user_id' => '{BCDF3313-9DBA-40E7-9CD8-02332F72A64F}'
    ));

    $client->setAuth('******', '*****', \Zend_Http_Client::AUTH_BASIC);

    $response = $client->request('POST');
    print_r($response->getBody());

Вот что я получаю в Firebug для запроса POST, который меня интересует:

Response Headers
Connection  close
Content-Length  4431
Content-Type    text/html
Date    Thu, 08 Mar 2012 19:13:11 GMT
Server  Microsoft-IIS/5.0
WWW-Authenticate    Negotiate NTLM
Request Headers
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection  keep-alive
Content-Length  120
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
Cookie  ASPSESSIONIDAAQSBCBQ=FEEOKMDAANCMKLGBKDBNKLHE
Host    ncmcrm
Referer http://ncmcrm/sales_summary/sales_summary.asp
User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2

1 Ответ

3 голосов
/ 08 марта 2012

Вы устанавливаете заголовок WWW-Authenticate на «Negotiate», но затем вы пытаетесь установить заголовки Basic Auth с помощью $ this-> setAuth.

Предполагая, что веб-сервер фактически разрешит базовыйauth, удаление строки $client->setHeaders('WWW-Authenticate', 'Negotiate'); должно работать.

...