{"id":15677687,"url":"https://github.com/stefh/webdav-client","last_synced_at":"2025-05-06T22:25:45.668Z","repository":{"id":52654818,"uuid":"81235856","full_name":"StefH/WebDAV-Client","owner":"StefH","description":"An easy-to-use async WebDAV client for .NETStandard, Portable and .NET","archived":false,"fork":false,"pushed_at":"2024-02-22T09:14:19.000Z","size":2247,"stargazers_count":14,"open_issues_count":5,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-06T22:24:48.169Z","etag":null,"topics":["async-webdav-client","netcore","netstandard","portable","webdav","webdav-client"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StefH.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-02-07T17:40:02.000Z","updated_at":"2024-09-25T08:39:55.000Z","dependencies_parsed_at":"2024-04-14T00:48:37.253Z","dependency_job_id":null,"html_url":"https://github.com/StefH/WebDAV-Client","commit_stats":{"total_commits":36,"total_committers":3,"mean_commits":12.0,"dds":0.2777777777777778,"last_synced_commit":"f648b32bcb900ce4ae114561ffa6daaeeced2662"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefH%2FWebDAV-Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefH%2FWebDAV-Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefH%2FWebDAV-Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefH%2FWebDAV-Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StefH","download_url":"https://codeload.github.com/StefH/WebDAV-Client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252777979,"owners_count":21802684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async-webdav-client","netcore","netstandard","portable","webdav","webdav-client"],"created_at":"2024-10-03T16:10:17.279Z","updated_at":"2025-05-06T22:25:45.625Z","avatar_url":"https://github.com/StefH.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebDAV-Client\nAn easy-to-use async WebDAV client for .NET, .NETStandard, UAP and Portable based on https://github.com/skazantsev/WebDavClient.\n\n[![NuGet Badge](https://buildstats.info/nuget/WebDAV-Client)](https://www.nuget.org/packages/WebDAV-Client)\n\n#### Supported Frameworks\n- .NET Framework 4.5 and 4.6\n- .NET Standard 1.1, 2.0 and 2.1\n- .NET 6.0 and 7.0\n- Blazor WASM\n- Portable (Profile7, Profile32, Profile44, Profile111, Profile115). See [portablelibraryprofiles](https://portablelibraryprofiles.stephencleary.com/).\n\n#### Basic usage\n``` csharp\nusing (var webDavClient = new WebDavClient())\n{\n    var result = await webDavClient.Propfind(\"http://mywebdav/1.txt\");\n    if (result.IsSuccessful)\n        // continue ...\n    else\n        // handle an error\n}\n```\n\n#### Usage in Blazor WASM\nSee https://github.com/StefH/WebDAV-AudioPlayer/tree/master/src/Blazor-WebDAV-AudioPlayer.v2\n\n#### Using BaseAddress\n``` csharp\nvar clientParams = new WebDavClientParams { BaseAddress = new Uri(\"http://mywebdav/\") };\nusing (var webDavClient = new WebDavClient(clientParams))\n{\n    await webDavClient.Propfind(\"1.txt\");\n}\n```\n\n#### Operations with files and directories (resources \u0026 collections)\n``` csharp\nvar clientParams = new WebDavClientParams { BaseAddress = new Uri(\"http://mywebdav/\") };\nusing (var webDavClient = new WebDavClient(clientParams))\n{\n    await webDavClient.Mkcol(\"mydir\"); // create a directory\n\n    await webDavClient.Copy(\"source.txt\", \"dest.txt\"); // copy a file\n\n    await webDavClient.Move(\"source.txt\", \"dest.txt\"); // move a file\n\n    await webDavClient.Delete(\"file.txt\", \"dest.txt\"); // delete a file\n\n    await webDavClient.GetRawFile(\"file.txt\"); // get a file without processing from the server\n\n    await webDavClient.GetProcessedFile(\"file.txt\"); // get a file that can be processed by the server\n\n    await webDavClient.PutFile(\"file.xml\", File.OpenRead(\"file.xml\"), \"text/xml\"); // upload a resource\n}\n```\n\n#### PROPFIND example\n``` csharp\n// list files \u0026 subdirectories in 'mydir'\nvar result = await webDavClient.Propfind(\"http://mywebdav/mydir\");\nif (result.IsSuccessful)\n{\n    foreach (var res in result.Resources)\n    {\n        Trace.WriteLine(\"Name: \" + res.DisplayName);\n        Trace.WriteLine(\"Is directory: \" + res.IsCollection);\n        // other params\n    }\n}\n```\n\n#### Authentication example\n``` csharp\nvar clientParams = new WebDavClientParams\n{\n    BaseAddress = new Uri(\"http://mywebdav/\"),\n    Credentials = new NetworkCredential(\"user\", \"12345\")\n};\nusing (var webDavClient = new WebDavClient(clientParams))\n{\n    // call webdav methods...\n}\n```\n\n#### License\nWebDAV-Client is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefh%2Fwebdav-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefh%2Fwebdav-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefh%2Fwebdav-client/lists"}