使用GET执行WebRequest时出现ProtocolViolationException

本文关键字:ProtocolViolationException WebRequest GET 执行 使用 | 更新日期: 2023-09-27 18:13:16

我正在尝试从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协议,但我不知道我在哪里做,即如何避免它。

使用GET执行WebRequest时出现ProtocolViolationException

这可能是ContentType,使它认为有一个请求体,因此异常。

您将希望设置为Accept-Encoding

相关文章:
  • 没有找到相关文章