我们正尝试通过SSL使用 net use 连接到WebDAV服务器。在某些服务器上,如果我们在URL中指定端口443,我们会看到此连接仅成功的问题。
地图
net use * "https://example.com:443/folder"
net use * "\\example.com@SSL@443\folder"
,奇怪的是,这样做:
net use * "\\example.com@SSLasdf\folder"
不会映射
net use * "https://example.com/folder"
net use * "\\example.com@SSL\folder"
在非工作的情况下,我们始终收到以下错误:
System error 67 has occured.
The network name cannot be found.
我们注意到一些可能有用的信息:
我们完全被难倒了。任何理论?
答案 0 :(得分:1)
我们最终确定我们错误地解释了System Error 67
正在返回的net use
。我们发现了两件有趣的事情:
如果WebDAV在初始根文件夹PROPFIND
上返回404或50x,net use
将(正确地)将其解释为根文件夹不可用。它无法找到网络名称的事实让我们相信问题在于名称解析,但它实际上只是在说,'嘿,我找不到任何东西路径'。
如果'net use'由于404 / 50x而失败,则在短时间内,它会自动失败同一主机的任何其他映射而不发出请求 。例如,如果net use http://me.com/foo
返回404,那么net use http://me.com/bar
如果快速连续第一次调用就会立即失败,并且WebDAV服务器日志中不会显示任何请求记录。
我最好的猜测是,附加@443
端口并没有产生任何真正的影响。 做做的事情就是欺骗net use
认为它正在与另一个主机交谈,至少是为了它的“自动失败”功能。但这只是猜测。
答案 1 :(得分:1)
您正在看到不同的行为,因为您使用不同的名称进行连接。一旦尝试了名称并且失败,WebClient(这是启用WebDAV的服务)将缓存一段时间的响应。要清除缓存,请在“服务”控制台中找到WebClient服务并重新启动它。或者从管理命令提示符执行以下命令:
net.exe stop webclient && net.exe start webclient