将WebResponse保存为txt

我正在寻找一种与WebResponse中的Request.SaveAs等效的方法。 但我找不到它。

我想在txt文件中存储webresponse的标题和正文。

你知道任何技术来实现它吗?

没有内置方法,但您可以简单地使用GetResponseStream方法获取响应流并将其保存到文件中。


例:

WebRequest myRequest = WebRequest.Create("http://www.example.com"); using (WebResponse myResponse = myRequest.GetResponse()) using (StreamReader reader = new StreamReader(myResponse.GetResponseStream())) { // use whatever method you want to save the data to the file... File.AppendAllText(filePath, myResponse.Headers.ToString()); File.AppendAllText(filePath, reader.ReadToEnd()); } 

尽管如此,您可以将其包装到扩展方法中

 WebRequest myRequest = WebRequest.Create("http://www.example.com"); using (WebResponse myResponse = myRequest.GetResponse()) { myResponse.SaveAs(...) } 

 public static class WebResponseExtensions { public static void SaveAs(this WebResponse response, string filePath) { using (StreamReader reader = new StreamReader(response.GetResponseStream())) { File.AppendAllText(filePath, myResponse.Headers.ToString()); File.AppendAllText(filePath, reader.ReadToEnd()); } } }