私は現在、asp.netからPHPに移植しようとしていますが、壁にぶつかり、これで手を必要とします。ASP.NET内のファイルに全体のPOSTデータをダンプする方法
私は、ファイルへのPOSTを経由してすべてのデータ.aspxのrecievesをダンプする必要がありますが、私はこの
任意のアイデアを行う方法について見当もつかない?
私は現在、asp.netからPHPに移植しようとしていますが、壁にぶつかり、これで手を必要とします。ASP.NET内のファイルに全体のPOSTデータをダンプする方法
私は、ファイルへのPOSTを経由してすべてのデータ.aspxのrecievesをダンプする必要がありますが、私はこの
任意のアイデアを行う方法について見当もつかない?
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.
}
}
これを行う最も良い方法は、FiddlerまたはLiveHttpHeaders(Firefoxのみ)などのブラウザプラグインを使用することです。その後、生のPOSTデータをインターセプトできます。
あなたはリクエストボディからの読み取りにBinaryRead
を使用することができます。
Request.BinaryRead
それとも、と入力Stream
オブジェクトへの参照を取得できます。
Request.InputStream
その後、あなたはCopyStream
を使用することができます。
using (FileStream fs = new FileStream(...))
CopyStream(fs, Request.InputStream);
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,
}
.NET 4.0には 'Stream.CopyTo()'メソッドが追加されました。 – spoulson