私は現在、アプリをasp.netからphpに移植しようとしていますが、壁にぶつかっただけで、これを手に入れる必要があります。
.aspxがPOSTを介して受信するすべてのデータをファイルにダンプする必要がありますが、これを行う方法がわかりません。
何か案は ?
Request オブジェクトの 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.
}
}
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,
}
BinaryRead
リクエスト本文から読み取るために使用できます。
Request.BinaryRead
Stream
または、次のように入力オブジェクトへの参照を取得できます。
Request.InputStream
次に、次を使用できますCopyStream
。
using (FileStream fs = new FileStream(...))
CopyStream(fs, Request.InputStream);
Fiddlerなどのプロキシ アプリケーションを使用できます。これにより、転送されたすべてのデータを確認したり、必要に応じてファイルに保存したりできます。
これを行う最善の方法は、FiddlerやLiveHttpHeaders (Firefox のみ) などのブラウザー プラグインを使用することです。その後、生の POST データをインターセプトできます。