механизм python для доступа к сайту Sharepoint

1

Я пытаюсь получить доступ к Sharepoint с помощью механизации, но у меня ошибка 401. Вот код, который я использую:

import mechanize

url = "http://sharepoint:8080/foo/bar/foobar.aspx"

br.addheaders = [('User-agent', 'Mozilla/4.0(compatible; MSIE 7.0b; Windows NT 6.0)')]
br.add_password(url, 'domain\\user', 'myPassword')
r = br.open(url)
html = r.read()

Я что-то пропустил?

Теги:
mechanize

3 ответа

1

Вам удалось попробовать Python Ntlm для доступа к SharePoint?

Примеры в документе Ntlm объяснят, как использовать его с Urllib2. Вставка под кодом для использования аутентификации NTLM с использованием механизации.

import mechanize
from ntlm import HTTPNtlmAuthHandler
pass_manager = mechanize.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, url, user, password)
auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(pass_manager)

browser = mechanize.Browser()
browser.add_handler(auth_NTLM)

r = browser.open(url)
html = r.read()
  • 1
    Я попробовал это, и я получил AttributeError: экземпляр HTTPResponse не имеет атрибута ' iter '. Любая идея?
  • 1
    Этот вопрос очень старый, но для простоты использования, я свяжусь исправление для ИТЭР выпуска. По сути, это ошибка в Mechanize, и вам нужно исправить ее самостоятельно. stackoverflow.com/a/14726708/269297 Существует открытый запрос на механизацию, но с ним мало что происходит: github.com/jjlee/mechanize/issues/88
Показать ещё 1 комментарий
0

Рассматривая использование mechanize docs, вам нужно указать только имя пользователя (например, 'john_doe', попробуйте

...
br.add_password(url, 'username_string', 'myPassword')
r = br.open(url)
html = r.get_data() # r.get_data() can be called many times without calling seek
  • 0
    Я пробовал это раньше, и это не работает.
0

Попробуйте:

br.addheaders = [('User-agent', 'Mozilla/4.0(compatible; MSIE 7.0b; Windows NT 6.0)'), ('Authorization', 'Basic %s:%s' % ('domain\\user', 'myPassword'))]

вместо

br.addheaders = [('User-agent', 'Mozilla/4.0(compatible; MSIE 7.0b; Windows NT 6.0)')]

Это должно работать, если ваш сервер sharepoint предоставляет Basic Auth.

  • 0
    Я получил ошибку атрибута: AttributeError: mechanize._mechanize.Browser экземпляр не имеет атрибута addHeader (возможно, вы забыли .select_form ()?)
  • 1
    я отредактировал ответ - в первом случае я просто написал его без проверки синтаксических ошибок - извините: D
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню