Pregunta

Actualmente estoy tratando de puerto de una aplicación de asp.net a PHP, sin embargo me acaba de golpear una pared y necesitan una mano con esto.

tengo que volcar todos los datos de un recieves .aspx vía POST a un archivo, pero no tengo ni idea de cómo hacer esto

alguna idea?

¿Fue útil?

Solución

Puede utilizar la propiedad InputStream del objeto Request. Esto le dará los datos en bruto de la petición HTTP. En general, es posible que desee hacer esto como un controlador personalizado http, pero yo creo que se puede hacer en cualquier momento.

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

Otros consejos

Si lo que desea datos POST, entonces se puede utilizar Request.Form.ToString () para obtener todos los datos de una manera URL codificada.

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

Puede utilizar BinaryRead para leer desde la solicitud del cuerpo:

Request.BinaryRead

O se podría obtener una referencia a la entrada de un objeto con Stream:

Request.InputStream

A continuación, puede utilizar CopyStream :

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

Se puede usar un proxy de aplicación tales como violinista . Esto le permitirá ver todos los datos que se transfieren, así como ahorrar en un archivo según sea necesario.

La mejor manera de hacerlo es a través de algún plugin para el navegador como violinista o LiveHTTPHeaders (sólo para Firefox). A continuación, puede interceptar los datos POST prima.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top