服务器提交了协议违规。 Section =使用XmlDocument

时间:2015-08-01 11:49:02

标签: c# xml

我正在使用API​​从中读取数据的网站。 APi以XML格式返回数据,我正在使用XmlDocument的Load()但在执行期间我得到一个异常"服务器提交了协议违规。节= ResponseStatusLine"在这条线上 doc.Load(url); 我不知道如何解决这个问题,我已经找到了答案,但找不到任何好处。

1 个答案:

答案 0 :(得分:0)

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

,就会发生这种情况
  • 您尝试使用服务器无法理解的协议(例如' http' vs.' https')
  • 服务器坏了
  • 一些与沟通混淆的东西(例如代理 服务器,防病毒软件,不稳定的互联网连接等。)

您可以在web.config文件中添加以下内容 - 这将创建日志文件" 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等工具来调查沟通。