WebDAV get free space info

2019-07-06 05:01发布

问题:

I'm working with Yandex Disk API (http://api.yandex.com/disk/doc/dg/reference/propfind_space-request.xml). Having trouble with adding property in the request body (quota-available-bytes and quota-used-bytes)

public static string SpaceInfo(string path)
{
    // Authorization.
    HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create("https://webdav.yandex.ru/");
    webReq.Accept = "*/*";
    webReq.Headers.Add("Depth: 0");
    webReq.Headers.Add("Authorization: OAuth " + token);
    webReq.Method = "PROPFIND";

    // Adding data in body request.
    string inputData = @"<D:propfind xmlns:D=""DAV:""><D:prop><quota-available-bytes/></D:prop></D:propfind>";
    byte[] buffer = new ASCIIEncoding().GetBytes(inputData);

    webReq.ContentType = "text/xml; encoding='utf-8";
    webReq.ContentLength = buffer.Length;

    try
    {
        HttpWebResponse resp = (HttpWebResponse)webReq.GetResponse();
        StreamReader sr = new StreamReader(resp.GetResponseStream());
        string dinfo = sr.ReadToEnd();

        return dinfo;
    }
}

I don't get any response, maybe i can use another method? What should i do? Thanks!

回答1:

quota-available-bytes should use same namespace "D"