HttpPost
Executa uma requisição HTTP usando o método POST. O método de requisição POST, limitado ao formato texto e sem suporte para envio direto de arquivos como PDFs, JPEGs ou outros tipos, é utilizado quando há necessidade de enviar dados ao servidor como parte da solicitação, como no caso de formulários preenchidos.
Sintaxe: HttpPost(Alfa Objeto, Alfa URL, Alfa Dados, Alfa end HTML);
Exemplo:
Definir Alfa vHTTP;
HttpObjeto(vHTTP);
Definir Alfa vHTML;
Definir Alfa vPostData;
vPostData = "NomeUsuario=SENIOR&EmailUsuario=senior@senior.com.br&Texto=SENIOR+SA";
HttpPost(vHTTP, "http://www.senior.com.br/cadastro.html",vPostData, vHTML);
Mensagem(Retorna, vHTML);
Exemplo com utilização de JSON:
definir alfa vHTTP;
definir alfa vHTML;
definir alfa vDados;
HttpObjeto(vHTTP);
HttpAlteraCabecalhoRequisicao(vHTTP, "Accept", "text/plain");
HttpAlteraCabecalhoRequisicao(vHTTP, "Content-Type", "application/json");
vDados = "
{\"NomeParametro1\": \"valor1\", \"NomeParametro2\": \"valor2\"}
";
HttpPost(vHTTP, "http://exemplo.com/app/path", vDados, vHTML);
Importante
Ao montar a lista de parâmetros utilizados pela função HttpPost, observe que:
- O primeiro parâmetro não deve iniciar com o caractere &.
- O caractere & também não deve aparecer no final da string.
O caractere & deve ser usado exclusivamente como separador entre parâmetros subsequentes.
O uso incorreto, seja iniciando ou finalizando a string com &, pode gerar falhas na interpretação da requisição HTTP.
Exemplo incorreto:
WParametros = "&ACAO=EXESENHA&NOMUSU=usuario&SENUSU=senha";
WParametros = "ACAO=EXESENHA&NOMUSU=usuario&SENUSU=senha&";
Exemplo correto:
WParametros = "ACAO=EXESENHA&NOMUSU=usuario&SENUSU=senha";
WParametros = WParametros + "&PROXACAO=SID.Tes.Gravar";
Observação:
- O Gestão Empresarial | ERP envia por padrão a codificação Content-Type: charset=windows-1252. Essa codificação é usada por aplicações Windows, para que o servidor de serviço saiba como codificar os dados. Em servidores que não aceitam essa codificação, deve-se alterar a LSP para enviar da seguinte forma: UTF-8.
- Quando a função HttpPost for utilizada em conjunto com a função HttpAlteraCabecalhoRequisicao, e esta utilizar o cabeçalho "Content-Type" com o tipo application/json, é necessário que os dados da função HttpPost estejam no formato JSON. Caso contrário, irá retornar o status de erro HTTP: "440 - Bad Request". Por exemplo, neste caso é necessário informar: "{\"NomeParâmetro1\": \"valor1\", \"NomeParâmetro2\": \"Valor2\"}".
- Quando o Content-Type for igual a application/x-www-form-urlencoded, o valor dos dados devem seguir o padrão: chave1=valor1&chave2=valor2.
- Nos sistemas Gestão de Pessoas | HCM GO UP, Gestão de Pessoas | HCM, Gestão Empresarial | ERP, Gestão Empresarial PME | GO UP e Ronda Senior, o uso de caracteres reservados na URL da requisição, como o símbolo pipe (|), pode resultar em erro de sintaxe. Recomenda-se a adoção de outros separadores, como ponto e vírgula (;) ou vírgula (,), que não sofrem esse tipo de restrição.
Nota
Função disponível para os sistemas Gestão Empresarial PME | GO UP, Gestão Empresarial | ERP, Gestão de Pessoas | HCM e Ronda Senior.

English
Español


