无法发送具有此动词类型的内容主体

2023-12-02

我刚刚在 .NET 2.0 应用程序(在 Windows Mobile 6 标准模拟器上运行)中遇到此异常 (ProtocolViolationException)。让我感到困惑的是,据我所知,我没有添加任何内容主体,除非我无意中以某种方式添加了它。我的代码如下(非常简单)。我还需要做些什么来说服 .NET 这只是一个 http GET 吗?

//run get and grab response
WebRequest request = WebRequest.Create(get.AbsoluteUri + args);
request.Method = "GET";
Stream stream = request.GetRequestStream();           // <= explodes here
XmlTextReader reader = new XmlTextReader(stream);

很简单,不获取请求流。 GET 请求不会usually有身体(尽管它是HTTP 在技术上并未禁止) and WebRequest不支持它 - 但这就是调用GetRequestStream用于为请求提供正文数据。

鉴于您正在尝试read从流中,在我看来你实际上想要得到response并从中读取响应流:

WebRequest request = WebRequest.Create(get.AbsoluteUri + args);
request.Method = "GET";
using (WebResponse response = request.GetResponse())
{
    using (Stream stream = response.GetResponseStream())
    {
        XmlTextReader reader = new XmlTextReader(stream);
        ...
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法发送具有此动词类型的内容主体 的相关文章