使用gvfsdebuggingWebDAV

gvfs(gnome虚拟文件系统)觉得有必要重新实现一些常用的文件系统。 我试图让人们到我们的WebDAV股份,但我得到相当神秘的错误。

我想要做的就是设置gvfs来使用代理,所以我可以使用Charles来看看发生了什么。

我怎样才能轻松做到这一点?

翻转

我不知道gvfs,或者它是否支持代理。 但“强制”代理的简单方法是将Charles设置为反向代理,并让webdav客户端连接到代理。

例如,假设Charles在“代理”主机上运行,​​webdav在“webdav”主机上运行。 设置Charles在端口80上执行反向代理并将stream量转发到webdav:80(菜单中提供“反向代理”)。 然后,而不是将您的客户端连接到“webdav”,让他们连接到http://代理/而不是。

使用WebDAV进行反向代理时几乎没有什么警告。 你不仅需要重写Host:header(Charles为你做的),还需要重写Destination:和If:headers。 目标:复制或移动文件时使用,而如果:用于validation文件仍然被locking。 幸运的是,Charles支持重写任何头文件…寻找Tools> Rewrite,你可以在那里写出相当一般的重写规则。 你需要做的是将这些头文件中的绝对URL的主机部分从“proxy”改写为“webdav”。 (Simple s / proxy / webdav /将可用于testing)如果您有兴趣,Julian Reschke对webdav和反向代理问题进行了很好的总结 😉

(如果你可以使gvfs自己使用代理,那么你可以避免头重写的麻烦…但我无法使Mac上的WebdavFS使用代理,所以这对我很有用)。