cURL всегда возвращает 401 с NTLM - PullRequest
8 голосов
/ 03 декабря 2010

Я работаю над библиотекой для связи с Microsoft Exchange с использованием PHP.Все отлично работает на моих производственных серверах, но я продолжаю получать 401 Unauthorized на моей машине разработки.Я попытался использовать curl из командной строки, и я получил те же результаты.

Используя следующее возвращает «401» на моей машине:

curl https://mail.example.com/EWS/Exchange.asmx -w %{http_code} --ntlm -u username:password

Тот же самый точный вызов возвращает «302» намои производственные машины, чего я и ожидаю.

Моя машина для разработки использует curl 7.19.7, а моя рабочая машина использует curl 7.18.0.

Ответы [ 2 ]

7 голосов
/ 22 февраля 2012

Это старый вопрос, но если он в конечном итоге может кому-нибудь помочь, я решил опубликовать ответ.

В некоторых последних версиях Ubuntu (10.04 и выше, я полагаю, есть ошибка с NTLM и curl)).

Если вы используете модуль curl PHP в Ubuntu и вашЭта ошибка связана с версией libcurl, это может объяснить, почему ваши запросы аутентификации не выполняются.

Если вы добавите подробный флаг к вашей команде (-v), вы должны увидеть что-то подобное в ответной части:

  • Ошибка gss_init_sec_context ():: Файл кэша учетных данных '/ tmp / krb5cc_1000' не найден

Если вы видите это, вы затронуты этой ошибкой, и вы 'Вам придется либо понизить версию своей библиотеки, либо найти другую машину.

Надеюсь, это поможет: P

0 голосов
/ 19 апреля 2013

Для всех пользователей Centos / RHEL 6.X, пожалуйста, ознакомьтесь с:

https://bugzilla.redhat.com/show_bug.cgi?id=953864

...