6

WebResponse の Request.SaveAs に相当するメソッドを探しています。しかし、私はそれを見つけることができません。

Web 応答のヘッダーと本文を txt ファイルに保存したいと考えています。

それを達成するためのテクニックを知っていますか?

4

2 に答える 2

9

組み込みの方法はありませんが、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());
        }
    }
}
于 2012-09-10T08:41:06.237 に答える
1

WebClient クラスには ResponseHeaders コレクションがあります。

http://msdn.microsoft.com/en-us/library/system.net.webclient.responseheaders.aspx

于 2012-09-10T08:31:32.627 に答える