【发布时间】:2014-05-20 11:22:24
【问题描述】:
请告诉我如何将标头设置为 webclient? 我试试这个
WebClient webClient = new WebClient();
webClient.Headers["Content-Encoding"] = "gzip";
webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
webClient.DownloadStringAsync(new Uri("..."));
但我收到异常:System.Reflection.TargetInvocationException。 “操作过程中发生异常,导致结果无效。请查看 InnerException 了解异常详情。”
- InnerException {System.Net.WebException:WebClient 请求期间发生异常。 ---> System.Net.ProtocolViolationException:使用此方法的请求不能有请求正文。在 System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state) 在 System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 在 System.Net.WebClient.GetWebResponse(WebRequest 请求,IAsyncResult 结果) 在 System.Net .WebClient.DownloadBitsResponseCallback(IAsyncResult 结果) --- 内部异常堆栈跟踪结束 ---} System.Exception {System.Net.WebException}
【问题讨论】:
-
你能发布 InnerException 吗?
-
@Raymen 我编辑了我的帖子
-
作为一个快速的解决方案,不要使用
WebClient,而是使用HttpClient。
标签: c# windows-phone-8 gzip