我的CalDav客户端C#返回400错误的请求,该如何解决?

时间:2019-07-26 13:54:25

标签: c# asp.net calendar caldav

我已经为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;
}

0 个答案:

没有答案