Вопрос

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

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

Любые идеи ?

Это было полезно?

Решение

Вы можете использовать свойство 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.
    }
}

Другие советы

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

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

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

Request.BinaryRead

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

Request.InputStream

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top