可能的原因是ESP32返回的内容可能使用了不同的编码方式,导致无法正确解析。解决方法可以尝试使用不同的编码方式进行解析。
以下是一个示例代码,使用UTF-8编码进行请求和解析:
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
public class Program
{
public static async Task Main(string[] args)
{
using (var client = new HttpClient())
{
var response = await client.GetAsync("https://example.com"); // 替换为你的ESP32的URL
response.EnsureSuccessStatusCode();
var contentBytes = await response.Content.ReadAsByteArrayAsync();
var contentString = Encoding.UTF8.GetString(contentBytes);
Console.WriteLine(contentString);
}
}
}
在这个示例中,我们使用HttpClient
发送GET请求,并确保返回的状态码为200(即成功)。然后,我们将返回的内容以字节数组的形式读取,并使用UTF-8编码将其转换为字符串。
如果仍然无法解析内容,可以尝试其他编码方式,比如GBK、GB2312等。根据ESP32返回的内容类型,可以尝试选择适当的编码方式进行解析。
另外,还可以使用调试工具,如Fiddler或Wireshark,来查看ESP32返回的原始内容,以便更好地理解问题所在。