(Система импорта. IO)
if Not Directory.Exists(Path) then Directory.CreateDirectory(Path) end if
Класс Couch
в примере не передает никакой аутентификационной информации в базу данных, поэтому не чудо, что он не разрешает привилегированные операции. Итак, ваши единственные варианты:
Авторизация
HTTP заголовок запроса Если вы хотите передать имя пользователя и пароль, вам нужно будет изменить класс Couch
. Отправить заголовок HTTP-запроса Authorization
проще, поскольку класс Couch использует класс httplib.HTTPConnection
. Вы можете добавить такой заголовок рядом с Accept
следующим образом:
headers = {
"Accept": "application/json",
"Authorization": "Basic " + 'username:password'.encode('base64')[:-1]}
То же самое для других методов HTTP-запроса.
Документация по базовой аутентификации находится здесь:
Вы также можете:
db = couchdb.Database("http://your.url/yourdb")
db.resource.http.add_credentials(username, password)
, после чего все ваши запросы должны работать.
Есть несколько патчей для python-couchdb, включающих аутентификацию. Вероятно, код будет включен в версию 0.7, но до тех пор вы можете использовать вилку по адресу http://github.com/mdornseif/couchdb-python - это позволяет вам использовать _COPY11@127.0.0.1:5984/ URL типа.
http://blogs.23.nu/c0re/2009/12/running-a-couchdb-cluster-on-amazon-ec2/ (внизу) - показывает, как использовать пароли CouchDB.
.