C# 使用GET执行WebRequest时ProtocolViolationException异常
我正在尝试从Windows Phone应用程序的公共API收集数据C# 使用GET执行WebRequest时ProtocolViolationException异常,c#,.net,windows-phone-7,http-get,C#,.net,Windows Phone 7,Http Get,我正在尝试从Windows Phone应用程序的公共API收集数据 private void GatherPosts() { string url = baseURL + "?after=" + lastPostId + "&gifs=1"; HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.ContentType = "text/json"; reques
private void GatherPosts()
{
string url = baseURL + "?after=" + lastPostId + "&gifs=1";
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.ContentType = "text/json";
request.Method = "GET";
AsyncCallback callback = new AsyncCallback(PostRequestFinished);
request.BeginGetResponse(callback, request);
}
private void PostRequestFinished(IAsyncResult result)
{
HttpWebRequest request = (HttpWebRequest)result.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);
}
但是我在回调方法的最后一行不断得到一个
ProtocolViolationException
,消息是使用此方法的请求不能有请求正文。
。我读到这是因为我试图发送数据,这显然是GET协议所禁止的,但我不知道我在哪里做,即如何避免它。可能是ContentType
让它认为有一个请求体,因此出现了异常
您可能希望设置
接受编码
。尝试对设置内容类型的行进行注释。好吧,json请求总是有一个主体,而不是一个get
。正常工作的情况。我认为我不需要接受编码,因为规范说它将始终是JSON。