小编M.H*_*ini的帖子

使用 smb2 在 golang 中打开 Microsoft DFS 共享

我在 Windows Server 2012 上有一个 dfs 共享。我可以在 Windows 文件资源管理器中打开共享并从另一个系统读取文件,路径如下:\\dfsserver\usernamespace\Tom\go.png。但是,通过https://github.com/hirochachacha/go-smb2使用 golang 的 smb2 包,我得到一个错误:

响应错误:联系的服务器不支持 DFS 命名空间的指示部分

但是,如果我尝试使用实际共享路径\\dfsserver\public share\Tom\go.png打开该文件,则代码可以正常工作。所以问题是我不知道运行时的实际路径,并且我希望能够使用 DFS 提供的路径打开文件。

难道是DFS在smb2上不能正常工作吗?或者其他一些问题。预先感谢您的评论。

    func main(){
    
        // actualPath := `\\dfsserver\public share\Tom\go.png`
        // dfsPath := `\\dfsserver\usernamespace\Tom\go.png`
    
        conn, err := net.Dial("tcp", fmt.Sprintf("%s:%s", "dfsserver", "445"))
        if err != nil {
            fmt.Println(err)
        }
        defer conn.Close()
    
        dial := &smb2.Dialer{
            Initiator: &smb2.NTLMInitiator{
                User:     "user",
                Password: "password",
                Domain:  "dfsserver",
            },
        }
        session, err := dial.Dial(conn)
        if err != nil {
            fmt.Println(err)
        }
        defer session.Logoff()
    
        mountPoint, …
Run Code Online (Sandbox Code Playgroud)

smb microsoft-distributed-file-system go

6
推荐指数
0
解决办法
680
查看次数

Golang 正则表达式提取括号内的值并忽略任何内括号

我有以下键=值对示例作为一行字符串

start=("a", "b") and between=("range(2019, max, to=\"le\")") and end=("a", "b")

在 golang 中使用正则表达式我想提取 key=value 对,如下所示

  1. start=("a", "b")
  2. between=("range(2019, max, to=\"le\")")
  3. end=("a", "b")

stackoverflow 上有解决方案,但不适用于 golang regex。

有一个链接指向我使用 golang regex 的失败尝试:regex101 golang flavor

我将不胜感激任何帮助。

regex go re2

5
推荐指数
1
解决办法
163
查看次数

标签 统计

go ×2

microsoft-distributed-file-system ×1

re2 ×1

regex ×1

smb ×1