1

我正在尝试从小型嵌入式中文设备接收 HTTP 内容。设备的内置 Web 服务器接受标头,但不会在响应中返回任何标头。

IE

原始响应:(2 行,1 是 XML,第二是空白 \n)

<?xml version="1.0" encoding="utf-8"?><document><userkey>key</userkey> <machinemode>1</machinemode><serial>0000</serial><unitname>Device</unitname><version>1</version></document>\n

Fiddler 根本不会显示响应。使用HttpWebRequestandWebClient不会产生任何结果,因为响应中没有标头,这会导致异常。我所做的一些研究指向将其添加useUnsafeHeaderParsing到应用程序配置中(和/或以编程方式设置它)。这根本不起作用。我仍然收到

System.Net.WebException was unhandled Message=The server committed a protocol violation. Section=ResponseStatusLine Source=System StackTrace: at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)

有解决办法吗?在不使用 Sockets/TCPClient 的情况下,是否有另一种从不提供标头的服务器接收数据的方法?

4

1 回答 1

1

我不知道如何让 WebClient 或 HttpWebRequest 在这种情况下访问响应,所以不幸的是我认为你只剩下TcpClient :(

于 2012-05-06T05:46:06.293 回答