繁体   English   中英

如何使用 Python 登录 BaseX?

[英]How to login to BaseX using Python?

如何登录BaseX ,如下所示:

nicholas : 
nicholas : basex
BaseX 9.0.1 [Standalone]
Try 'help' to get more information.
> 
> show users
Username  Permission  
--------------------
admin     admin       
nicholas  none        

2 user(s).
> 
> password
Password: 
Password of user 'admin' changed.
> 
> xquery user:list-details()[@name = 'admin'] 
<user name="admin" permission="admin">
  <password algorithm="digest">
    <hash>hjklhjkhj</hash>
  </password>
  <password algorithm="salted-sha256">
    <salt>jkljlkjkljl</salt>
    <hash>jljkljkljl</hash>
  </password>
</user>
Query executed in 235.21 ms.
> 
> exit
Have fun.
nicholas : 
nicholas : python3 basex.py 
Traceback (most recent call last):
  File "basex.py", line 4, in <module>
    session = BaseXClient.Session('localhost', 1984, 'admin', 'jljljkl')
  File "/usr/local/lib/python3.8/dist-packages/BaseXClient/BaseXClient.py", line 116, in __init__
    self.__swrapper.connect((host, port))
  File "/usr/local/lib/python3.8/dist-packages/BaseXClient/BaseXClient.py", line 92, in <lambda>
    return lambda *arg, **kw: getattr(self.__s, name)(*arg, **kw)
ConnectionRefusedError: [Errno 111] Connection refused
nicholas : 

使用示例Python 作为:

from BaseXClient import BaseXClient
from parsel import Selector

session = BaseXClient.Session('localhost', 1984, 'admin', 'jkljkljlk')

print(session.info())

   # create new database

session.create("database", "<x>Hello World!</x>")

print(session.info())



    # run query on database

print("\n" + session.execute("xquery doc('database')"))

    # drop database
 #   session.execute("drop db database")

print(session.info())

#finally:
    # close session

if session:
    session.close()

我只能重置密码这么多次。

也许这在standalone模式下不起作用?

https://docs.basex.org/wiki/Database_Server

说:

服务器

数据库服务器处理并发读写事务,管理用户权限并记录用户交互。 可以按如下方式启动:

 Run one of the basexserver or basexserver.bat scripts. Add the stop keyword to gracefully shut down the server. If you have installed BaseX on Windows, click on the BaseX HTTP Server (Start) icon, which will start both the HTTP Server used for

Web 应用程序和数据库服务器。 使用 BaseX HTTP Server (Stop),您可以关闭服务器进程。

默认情况下,服务器监听 1984 端口。按 Ctrl+c 将关闭所有连接和数据库,并正常关闭服务器进程。

各种命令行选项可用于简化批处理。 可以针对个人目的调整启动脚本(例如,如果默认 memory 限制过于严格)。

您需要运行 basexserver 才能使用客户端 API 连接到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM