Eu não sei gvfs, ou se ele suporta proxy ou não. Mas a maneira simples de "forçar" o proxy é configurar o Charles como proxy reverso e permitir que o seu cliente webdav se conecte ao proxy.
Por exemplo, suponha que Charles seja executado no host "proxy" e o webdav esteja no host "webdav". Configure o Charles para fazer o proxy reverso na porta 80 e para encaminhar o tráfego para o webdav: 80 (o "proxy reverso" está disponível nos menus). Em vez de conectar seus clientes ao "webdav", permita que eles se conectem ao link .
Existem poucas ressalvas ao fazer o proxy reverso com o WebDAV. Você precisa reescrever não apenas os cabeçalhos Host: header (que Charles faz para você), mas também Destination: e If: headers. Destino: é usado ao copiar ou mover arquivos, enquanto Se: é usado para verificar se o arquivo ainda está bloqueado. Felizmente, Charles suporta reescrever qualquer cabeçalho ... procure por Ferramentas > Reescreva, você pode colocar lá regras bastante gerais para reescrever. O que você precisa fazer é reescrever parte do host de URLs absolutas nesses cabeçalhos de "proxy" para "webdav". (Simple s / proxy / webdav / irá funcionar para testes) Existe grande resumo por Julian Reschke sobre os problemas de webdav e proxy reverso se você está interessado; -)
(Se você pode fazer o gvfs usar proxy por si só, então você pode evitar problemas com reescrita de cabeçalho ... mas eu não era capaz de fazer o WebdavFS no Mac usar proxy, então isso foi útil para mim).