服务器违反了协议.Section=ResponseStatusLine在c# ASP.. NET使用XmlDocumen

本文关键字:ASP NET XmlDocumen 使用 ResponseStatusLine 协议 Section 服务器 | 更新日期: 2023-09-27 18:05:56

我正在一个使用API读取数据的网站上工作。APi以XML格式返回数据,我正在使用XmlDocument的Load(),但在执行期间,我得到一个异常"服务器犯了协议违反。Section=ResponseStatusLine"在这一行doc.Load(url);我不知道如何解决这个问题,我已经找了很多答案,但没有找到任何好的。

服务器违反了协议.Section=ResponseStatusLine在c# ASP.. NET使用XmlDocumen

当客户端(即XmlDocument类)和服务器不能使用给定的协议相互通信时,抛出"协议违反"异常(我假设它是'http'协议在你的情况下)。如果

  • 你试图使用服务器不理解的协议(例如'http' vs. http)。"https")
  • 服务器故障
  • 通信出现问题(例如代理)服务器、杀毒软件、网络连接不稳定等)

您可以在web中添加以下内容。这将创建包含所有通信详细日志的日志文件"System.Net.trace.log"。您可以搜索服务器的响应,或者客户端拒绝响应的原因。

<configuration>
    <system.diagnostics>
        <trace autoflush="true" />
        <sources>
            <source name="System.Net" maxdatasize="1024">
                <listeners>
                    <add name="MyTraceFile"/>
                </listeners>
            </source>
        </sources>
        <sharedListeners>
            <add
              name="MyTraceFile"
              type="System.Diagnostics.TextWriterTraceListener"
              initializeData="System.Net.trace.log"
                />
        </sharedListeners>
        <switches>
            <add name="System.Net" value="Verbose" />
        </switches>
    </system.diagnostics>
</configuration>

或者,您可以使用Fiddler等工具来调查通信