Pergunta

Atualmente estou tentando porta um aplicativo da asp.net para php, no entanto eu só bater em uma parede e precisam de uma mão com isso.

Eu preciso para despejar todos os dados um recebe .aspx via correio para um arquivo, mas eu não tenho idéia de como fazer isso

todas as idéias?

Foi útil?

Solução

Você pode usar a propriedade InputStream do objeto Request. Isto lhe dará os dados brutos da solicitação HTTP. Geralmente você pode querer fazer isso como um costume http manipulador, mas eu acredito que você pode fazê-lo a qualquer momento.

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

Outras dicas

Se você quiser apenas dados POST, então você pode usar Request.Form.ToString () para obter todos os dados de uma maneira url codificado.

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

Você pode usar BinaryRead para ler a partir do pedido de corpo:

Request.BinaryRead

Ou você poderia obter uma referência ao objeto Stream entrada com:

Request.InputStream

Em seguida, você poderia usar CopyStream :

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

Você pode usar um aplicativo de proxy, como Fiddler . Isso permitirá que você olhar para todos os dados que foram transferidos, bem como guardá-lo para um arquivo conforme necessário.

A melhor maneira de fazer isso é através de algum navegador plugin como Fiddler ou liveHTTPHeaders (Firefox apenas). Depois, você pode interceptar os dados POST matéria.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top