使用 HttpMethod 的自定义值
本文关键字:自定义 HttpMethod 使用 | 更新日期: 2023-09-27 18:36:57
我正在使用HttpClient
,我需要为HttpMethod
设置非标准类型。使用 HttpWebRequest
只需要一个字符串,HttpClient
需要一个HttpMethod
。枚举HttpMethod
中的可用值,我没有看到添加自定义值的方法。有什么想法吗?
不知道为什么我以前没有想到尝试这个,但我可以打电话给new HttpMethod("MYMETHOD");
非常感谢。我尝试了最奇怪的东西,但我没有看到这个简单的解决方案:)
我尝试使用 CalDAV REST-Requests 在 XAML-C#-MetroApp 中与我自己的 Cloud-CalDAV-Server 连接。现在工作完美。我终于可以将HTTP方法更改为PROPFIND-Type。
这是我检索信息的代码(http://sabre.io/dav/building-a-caldav-client/)。
...
try {
HttpClientHandler httpClientHandler = new HttpClientHandler();
httpClientHandler.AllowAutoRedirect = false;
httpClientHandler.Credentials = new NetworkCredential(caldavuserTB.Text, caldavpasswordTB.Text);
HttpClient httpClient = new HttpClient(httpClientHandler);
httpClient.MaxResponseContentBufferSize = 256000;
propfindMethod = new HttpMethod("PROPFIND");
propfindHttpRequestMessage = new HttpRequestMessage(propfindMethod, webURLAsURI);
propfindHttpRequestMessage.Headers.Add("Prefer", "return-minimal");
propfindHttpRequestMessage.Headers.Add("Depth", "0");
propfindHttpRequestMessage.Headers.Add("Accept", "application/xml; charset=utf-8");
propfindHttpRequestMessage.Content = new StringContent("<d:propfind xmlns:d='"DAV:'" xmlns:cs='"http://calendarserver.org/ns/'"><d:prop><d:displayname /><cs:getctag /></d:prop></d:propfind>");
propfindHttpResponseMesage = await httpClient.SendAsync(propfindHttpRequestMessage);
}
...