C# &引用;服务器提交的协议冲突。”;尝试从URL读取XML时出错
我对用C#编写的应用程序有问题。我在192.168.4.1的Web服务器上有一个XML文件(适用于模块ESP8266)。但当我试图从那个URL读取那个XML文件时,它会出错 “服务器提交的协议冲突..Section=ResponseStatusLine” 我读了很多关于这方面的东西,但这些解决方案都不适合我 这是我的密码:C# &引用;服务器提交的协议冲突。”;尝试从URL读取XML时出错,c#,xml,webclient,C#,Xml,Webclient,我对用C#编写的应用程序有问题。我在192.168.4.1的Web服务器上有一个XML文件(适用于模块ESP8266)。但当我试图从那个URL读取那个XML文件时,它会出错 “服务器提交的协议冲突..Section=ResponseStatusLine” 我读了很多关于这方面的东西,但这些解决方案都不适合我 这是我的密码: var url = "http://192.168.4.1/"; string xmlStr; using (var wc = new WebClient()) { x
var url = "http://192.168.4.1/";
string xmlStr;
using (var wc = new WebClient())
{
xmlStr = wc.DownloadString(url);
}
var xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlStr);
程序卡在线路上:
xmlStr = wc.DownloadString(url);
我试图在app.config中添加一些行:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
但它不起作用。您能发布整个异常错误消息吗?添加app.config应该已修复所有协议冲突。错误消息如下:…没有指向XML文件的路径,它位于192.168.4.1上,如下所示:再次检查app.config,并尝试添加一些凭据:
client.Credentials=CredentialCache.DefaultCredentials代码>我编辑了我的问题,你现在可以看到完整的app.config了。我添加wc.Credentials=CredentialCache.DefaultCredentials;在xmlStr=wc.DownloadString(url)之前;但问题依然存在。我解决了我的问题!问题是,我必须发送一个HTTP头和数据。我原以为HTTP头是由ESP8266自动发送的,但事实并非如此。