2009-05-15 13 views

答えて

8

ReのInputStreamプロパティを使用できますクエストオブジェクト。これにより、httpリクエストの生データが得られます。一般的には、これをカスタムHTTPハンドラとしてやりたいかもしれませんが、いつでもやり遂げることができると思います。

if (Request.RequestType == "POST") 
{ 
    using (StreamReader reader = new StreamReader(Request.InputStream)) 
    { 
     // read the stream here using reader.ReadLine() and do your stuff. 
    } 
} 
0

これを行う最も良い方法は、FiddlerまたはLiveHttpHeaders(Firefoxのみ)などのブラウザプラグインを使用することです。その後、生のPOSTデータをインターセプトできます。

6

あなたはリクエストボディからの読み取りにBinaryReadを使用することができます。

Request.BinaryRead 

それとも、と入力Streamオブジェクトへの参照を取得できます。

Request.InputStream 

その後、あなたはCopyStreamを使用することができます。

using (FileStream fs = new FileStream(...)) 
    CopyStream(fs, Request.InputStream); 
+3

.NET 4.0には 'Stream.CopyTo()'メソッドが追加されました。 – spoulson

2

Fiddlerなどのプロキシアプリケーションを使用できます。これにより、転送されたすべてのデータを見たり、必要に応じてファイルに保存したりすることができます。

+0

完璧、これは送受信されたすべての情報を表示します! – Dediqated

5

POSTデータが必要な場合は、Request.Form.ToString()を使用して、URLエンコード方式ですべてのデータを取得できます。

if (Request.RequestType == "POST") { 
    string myData = Request.Form.ToString(); 
    writeData(myData); //use the string to dump it into a file, 
}