gpt4 book ai didi

compact-framework - 如何为 .NET Compact Framework 设置 useUnsafeHeaderParsing

转载 作者:行者123 更新时间:2023-12-01 10:11:09 28 4
gpt4 key购买 nike

在我的 Windows CE 6.0 应用程序中,我正在与返回错误 header 信息的专有 Web 服务器设备通信(更具体地说,它没有返回任何 header 信息)。

我认为缺少 header 信息是我的 HttpWebRequest 方法无法正常工作的原因。

我记得 .NET“常规”框架允许我们以编程方式配置 System.Net.Configuration 程序集以允许无效 header (useUnsafeHeaderParsing)。

不幸的是,对我来说,System.Net.Configuration 程序集未包含在 Compact Framework 中。

CF 中是否有公开的类似配置允许我们以编程方式允许无效 header ?

最佳答案

我找不到设置 UseUnsafeHeaderParsing 的解决方法。我决定删除 HttpWebRequest 类的实现并改用 TcpClient。使用 TcpClient 类将忽略 HTTP header 可能存在的任何问题——TcpClient 甚至不会考虑这些问题。

无论如何,使用 TcpClient,我能够从我在原始帖子中提到的专有 Web 服务器获取数据(包括 HTTP header )。

作为记录,这里有一个如何通过 TcpClient 从 Web 服务器检索数据的示例:

下面的代码本质上是将客户端 HTTP header 数据包发送到 Web 服务器。

static string GetUrl(string hostAddress, int hostPort, string pathAndQueryString)
{
string response = string.Empty;

//Get the stream that will be used to send/receive data
TcpClient socket = new TcpClient();
socket.Connect(hostAddress, hostPort);
NetworkStream ns = socket.GetStream();

//Write the HTTP Header info to the stream
StreamWriter sw = new StreamWriter(ns);
sw.WriteLine(string.Format("GET /{0} HTTP/1.1", pathAndQueryString));
sw.Flush();

//Save the data that lives in the stream (Ha! sounds like an activist!)
string packet = string.Empty;
StreamReader sr = new StreamReader(ns);
do
{
packet = sr.ReadLine();
response += packet;
}
while (packet != null);

socket.Close();

return (response);
}

关于compact-framework - 如何为 .NET Compact Framework 设置 useUnsafeHeaderParsing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4812047/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com