首页 > 解决方案 > 我的 CalDav 客户端 c# 返回 400 错误请求,如何解决?

问题描述

我已经为 Zimbra 日历中的读写事件创建了一个示例 CalDav 客户端,但是当我尝试使连接请求返回“400 错误请求”时。我使用 DDay.iCal 库。

public static Stream ExectueMethod (string username, string password, string caldevURI, string methodName, WebHeaderCollection headers, string content, string contentType)
{
    HttpWebRequest httpGetRequest = (HttpWebRequest)WebRequest.Create(caldevURI);
    httpGetRequest.Credentials = new NetworkCredential(username, password);
    httpGetRequest.PreAuthenticate = true;
    httpGetRequest.Method = methodName;

    if (headers != null && headers.HasKeys())
    {
        httpGetRequest.Headers = headers;
    }

    byte[] optionsArray = Encoding.UTF8.GetBytes(content);

    httpGetRequest.ContentLength = optionsArray.Length;

    if (!string.IsNullOrWhiteSpace(contentType))
    {
         httpGetRequest.ContentType = contentType;
    }

    Stream requestStream = httpGetRequest.GetRequestStream();
    requestStream.Write(optionsArray, 0, optionsArray.Length);
    requestStream.Close();

    HttpWebResponse httpGetResponse = (HttpWebResponse)httpGetRequest.GetResponse();
    Stream responseStream = httpGetResponse.GetResponseStream();

    return ResponseStream;
}

标签: c#asp.netcalendarcaldav

解决方案


推荐阅读