c# - 我的 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;
}
解决方案
推荐阅读
- php - 主键值的“字段列表”中的未知列?
- perl - 不寻常的无符号短到位交换字节顺序
- excel - 处理 Application.GetSaveAsFilename 的“否”和“取消”的调试错误
- python - 如何使用纸浆解决具有多个最优解的线性规划问题
- javascript - 在 Chrome 中,提交表单并返回后,其值会在 DOMContentLoaded 后自动填充。是否有可能听到这种变化?
- java - Apache Shiro ThreadContext#bind(Subject) vs ThreadContext.bind(SecurityManager)
- c++ - 如何正确分配我自己班级的地图。例如:地图
- python - 用 Tkinter、Python3 猜数字
- python - 如何比较两个 .csv 和 .xlsx 文件并打印出与特定字段不匹配的内容?
- jmeter - 如何在 JMeter 中为每个用户测试多个并行线程?