我正在尝试从一个公共API获取数据,该API是为Windows Phone应用程序而设计的。
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请求始终会有一个BODY,而这对于GET请求来说并非如此。 - Andre Calil