Frage

Ich versuche zur Zeit in den Hafen eine App asp.net zu php, aber ich traf nur eine Wand und brauchen eine Hand mit diesem.

Ich brauche alle Daten einer ASPX BEKOMMT über POST in eine Datei auszugeben, aber ich habe keine Ahnung, wie dies zu tun

irgendwelche Ideen?

War es hilfreich?

Lösung

Sie können die Input Eigenschaft des Request-Objekts verwenden. Dies gibt Ihnen die Rohdaten der HTTP-Anforderung. Im Allgemeinen sollten Sie diese als benutzerdefinierte HTTP-Handler zu tun, aber ich glaube, dass Sie es jederzeit tun können.

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

Andere Tipps

Wenn Sie nur POST-Daten möchten, dann können Sie Request.Form.ToString verwenden () in einer URL codiert Weise alle Daten zu erhalten.

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

Sie können mit BinaryRead von Anforderungstext lesen:

Request.BinaryRead

Oder Sie könnten einen Verweis auf Eingang Stream Objekt erhalten mit:

Request.InputStream

Dann könnten Sie CopyStream :

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

Sie können eine Proxy-Anwendung verwenden, wie zum Beispiel Fiddler . So können Sie auf alle Daten sehen, die übertragen wurde, sowie speichern sie in einer Datei nach Bedarf.

Der beste Weg, dies zu tun ist über einige Browser-Plugin wie Fiddler oder Livehttpheaders (nur Firefox). Dann können Sie die rohen POST Daten abfangen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top