6

私は現在、アプリをasp.netからphpに移植しようとしていますが、壁にぶつかっただけで、これを手に入れる必要があります。

.aspxがPOSTを介して受信するすべてのデータをファイルにダンプする必要がありますが、これを行う方法がわかりません。

何か案は ?

4

5 に答える 5

8

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.
    }
}
于 2009-05-15T17:55:30.193 に答える
7

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,
}
于 2012-05-09T11:08:13.937 に答える
6

BinaryReadリクエスト本文から読み取るために使用できます。

Request.BinaryRead

Streamまたは、次のように入力オブジェクトへの参照を取得できます。

Request.InputStream

次に、次を使用できますCopyStream

using (FileStream fs = new FileStream(...))
    CopyStream(fs, Request.InputStream);
于 2009-05-15T17:54:04.503 に答える
2

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

于 2009-05-15T18:15:58.257 に答える
0

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

于 2009-05-15T17:52:13.573 に答える