gpt4 book ai didi

.net - 有没有一种方法可以在不影响 .NET 中底层响应流的情况下检查 WebResponse?

转载 作者:行者123 更新时间:2023-12-02 14:28:52 26 4
gpt4 key购买 nike

调用初始 HttpWebResponse.GetResponseStream() 并读取流后,该流已完成且无法重用。

我遇到一种情况,我需要检查响应的内容,如果它是特定数据,则获取另一个页面,然后将新响应传递下去。否则,按原样传递原始响应。唯一的问题是,在检查响应以检查此“特殊数据”后,该响应对下游代码没有好处。

我能想到的,要使其对下游代码透明,唯一的方法是创建 HttpWebResponse 的派生类,并以某种方式缓存流式传输的数据,并将缓存的流而不是初始流向下传递。我不确定这是否可行,因为我没有进一步研究。

有没有其他方法可以处理这样的情况?

最佳答案

这个怎么样:

using (var client = new WebClient())
{
string result = client.DownloadString("http://www.foo.bar");
// TODO: examine result as much as you wish
}

如果您不想将整个响应加载到内存中,您可以将其传递给某个解析函数,该函数将检查它一次并返回一个包含您感兴趣的所有属性的对象,以便您可以检查该对象为如你所愿。

关于.net - 有没有一种方法可以在不影响 .NET 中底层响应流的情况下检查 WebResponse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035588/

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