Как выгрузить все данные POST в файл в ASP.NET - PullRequest
6 голосов
/ 15 мая 2009

В настоящее время я пытаюсь портировать приложение с asp.net на php, однако я просто ударился о стену и мне нужна рука с этим.

Мне нужно сбросить все данные, которые ASPX получает через POST, в файл, но я понятия не имею, как это сделать

есть идеи?

Ответы [ 5 ]

8 голосов
/ 15 мая 2009

Вы можете использовать свойство InputStream объекта Request. Это даст вам необработанные данные http-запроса. Обычно вы можете захотеть сделать это как пользовательский обработчик http, но я верю, что вы можете сделать это в любое время.

if (Request.RequestType == "POST")
{
    using (StreamReader reader = new StreamReader(Request.InputStream))
    {
        // read the stream here using reader.ReadLine() and do your stuff.
    }
}
6 голосов
/ 09 мая 2012

Если вы просто хотите получить данные POST, вы можете использовать Request.Form.ToString () для получения всех данных в кодированном виде.

if (Request.RequestType == "POST") {
    string myData = Request.Form.ToString();
    writeData(myData); //use the string to dump it into a file,
}
6 голосов
/ 15 мая 2009

Вы можете использовать BinaryRead для чтения из тела запроса:

Request.BinaryRead

Или вы можете получить ссылку на входной Stream объект с:

Request.InputStream

Тогда вы можете использовать CopyStream:

using (FileStream fs = new FileStream(...))
    CopyStream(fs, Request.InputStream);
2 голосов
/ 15 мая 2009

Вы можете использовать прокси-приложение, такое как Fiddler . Это позволит вам просмотреть все данные, которые были переданы, а также сохранить их в файл при необходимости.

0 голосов
/ 15 мая 2009

Лучший способ сделать это через какой-нибудь плагин для браузера, например Fiddler или LiveHttpHeaders (только Firefox). Затем вы можете перехватить необработанные данные POST.

...