Question

Je suis en train d'essayer de porter une application de asp.net à php, mais je viens de frapper un mur et ont besoin d'un coup de main.

je dois vider toutes les données une des .aspx via POST recieves dans un fichier, mais je n'ai pas la moindre idée sur la façon de le faire

idées?

Était-ce utile?

La solution

Vous pouvez utiliser la propriété InputStream de l'objet de demande. Cela vous donnera les données brutes de la requête http. En général, vous pouvez le faire en tant que gestionnaire personnalisé http, mais je crois que vous pouvez le faire à tout moment.

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

Autres conseils

Si vous voulez juste des données POST, vous pouvez utiliser Request.Form.ToString () pour obtenir toutes les données d'une manière codée url.

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

Vous pouvez utiliser pour lire BinaryRead corps de la requête:

Request.BinaryRead

Ou vous pourriez obtenir une référence à l'entrée objet avec Stream:

Request.InputStream

Ensuite, vous pouvez utiliser CopyStream :

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

Vous pouvez utiliser une application proxy, comme Fiddler . Cela vous permettra de regarder toutes les données qui ont été transférées, ainsi que l'enregistrer dans un fichier au besoin.

La meilleure façon de le faire est via un plugin navigateur comme Fiddler ou livehttpheaders (Firefox uniquement). Ensuite, vous pouvez intercepter les données brutes POST.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top