使用GET执行WebRequest时的ProtocolViolationException

Ced*_*ach 4 .net c# http-get windows-phone-7

我正在尝试从Windows Phone应用程序的公共API收集数据.

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);
}
Run Code Online (Sandbox Code Playgroud)

但是我一直在ProtocolViolationException使用该消息获得回调方法的最后一行A request with this method cannot have a request body..我读到这是因为我正在尝试发送数据,这显然是禁止GET协议的,但我没有看到我在做什么,即如何避免它.

can*_*its 8

这可能是ContentType因为它认为存在请求体,因此例外.

你可能想要设置Accept-Encoding.