Nesse post vamos continuar o assunto do post anterior (se voce ainda nao leu clique aqui) e, aproveitando o mesmo codigo, vamos implementar o tratamento POST de envio de formulario.Para quem nao conhece bem HTML e seus meandros, isso significa que vamos criar um formulario conforme a imagem abaixo e enviar os dados preenchidos para serem tratados por uma funcao e apresentados em uma outra tela.Podemos ver no formulario que temos um campo de texto e um botao enviar. E um exemplo bem simples, mas mostra o potencial do ESP8266, utilizando a biblioteca WebServer.Repare que diferente da pagina principal, esse formulario chamamos no endereco http://192.168.0.125/formLembra do codigo do post anterior que eu expliquei como o ESP8266 trata as URLs? Vejamos novamente:Atraves da funcao server.on() dizemos que ao chamar a URL raiz, ou seja http://192.168.0.125/, o codigo executado e o da funcao handleRoot().Pois bem, precisamos agora acrescentar um tratamento para a URL http://192.168.0.125/form, entao vamos criar outra funcao server.on(), mas agora vamos definir tambem o metodo que a URL vai tratar.O que significa o metodo da URL? Vamos dizer que existem formas diferentes de se interagir com as URLs. Nao quero entrar nos detalhes do protocolo HTTP que regimenta essa parte, mas de forma resumida, quando chamamos uma URL, digitando no Navegador de Internet, estamos executando essencialmente um metodo chamado GET. Agora, quando utilizamos um formulario, temos a possibilidade de instruir o Navegador de Internet, via codigo, de fazer uma chamada pelo metodo POST.Ambos metodos GET e POST operam de forma similar e aceitam passagem de parametros entre uma chamada e outra. Essa e a forma que o HTML envia dados de uma pagina para outra. Isso acontece pois o protocolo HTTP, que e o responsavel por enviar HTML de um lado para outro, nao guarda estado das coisas, nao armazenando nada. Entao as informacoes precisam ser enviadas e recebidas como se fossem um anexo de um e-mail (veremos como enviar e receber e-mail pelo ESP8266 em outro post).Para nosso exemplo, vamos considerar que o metodo GET sera tratado pela funcao formularioChamada() e que o POST sera tratado pela funcao formularioEnviado(), entao precisamos escrever o seguinte codigo:Repare que utilizamos duas vezes a funcao server.on() para a mesma URL "/form", mas no segundo argumento diferenciamos as chamadas pelos metodos. Para isso utilizamos as macros HTTP_GET e HTTP_POST. E no terceiro parametro passamos a funcao que deve ser executada.A funcao formularioChamada() se parece bastante com a handleRoot(), que apresenta a pagina inicial, mas dessa vez adicionamos uma Tag Form para montar e configurar um formulario com metodo POST de envio.Os pontos importantes desse codigo sao o metodo que foi configurado para POST e o 'action' que foi configurado para '/form'. Para todos os efeitos a URL e a mesma, mas como o metodo e diferente, e quando o usuario clicar no botao Enviar, que e montado pela tag Input com o tipo Submit, a funcao que sera chamada sera a formularioEnviado(), pois configuramos isso mais acima, na funcao server.on().Vamos ver agora alguns detalhes da funcao formularioEnviado(), que nao vou colocar na integra aqui, pois utiliza