4

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);
}

しかしProtocolViolationException、コールバックメソッドの最後の行にメッセージが表示され続けますA request with this method cannot have a request body.。GET プロトコルでは明らかに禁止されているデータを送信しようとしているからだと読みましたが、どこでそれを行っているのか、つまり回避する方法がわかりません。

4

1 に答える 1

8

おそらく、ContentTypeリクエストボディがあると思わせるため、例外です。

Accept-Encoding代わりに設定する必要があります。

于 2013-05-13T16:41:40.803 に答える