Question

I'm currently trying to port an app from asp.net to php, however I just hit a wall and need a hand with this.

I need to dump all the data an .aspx recieves via POST to a file, but I have no clue on how to do this

any ideas ?

Was it helpful?

Solution

You can use the InputStream property of the Request object. This will give you the raw data of the http request. Generally you might want to do this as a custom http handler, but I believe you can do it any time.

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

OTHER TIPS

If you just want POST data, then you can use Request.Form.ToString() to get all the data in a url encoded manner.

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

You can use BinaryRead to read from request body:

Request.BinaryRead

Or you could get a reference to input Stream object with:

Request.InputStream

Then you could use CopyStream:

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

You could use a proxy application such as Fiddler. This will let you look at all of the data that was transferred, as well as save it to a file as needed.

The best way to do this is via some browser plugin like Fiddler or LiveHttpHeaders (Firefox only). Then you can intercept the raw POST data.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top