我正在嘗試從Windows Phone應用程序的公共API收集數據。使用GET執行WebRequest時的ProtocolViolationException
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);
}
,但我一直在回調方法與消息A request with this method cannot have a request body.
最後一行得到一個ProtocolViolationException
。我讀到這是因爲我試圖發送數據,GET協議明顯禁止發送數據,但我沒有看到我在做什麼,即如何避免它。
嘗試評論您設置「ContentType」的行。 Afaik,json請求將總是有一個BODY,而'get'則不是這種情況。 – 2013-05-13 16:42:26