
Para fazer uma requisição POST com retorno em HTML no PHP, iremos utilizar a função nativa “file_get_contents”.
A função “file_get_contents” é semelhante a função “file”, a diferença é que ela retorna uma String utilizando o “offset” e o “maxlen”, para leitura.
Em caso de erro, ela irá retornar o valor boolean “false”.
Estou utilizando a versão do PHP 7.1 para testar esse código.
Aconselho a testar em versões acima da 5.6.
$url_de_destino = ""http://destino.com.br/salvar_test.php";
URL de destino para aonde será feita a requisição.
$postdata = http_build_query(
array(
'var1' => 'valor_var_1'
'var2' => 'valor_var_2'
)
); Os parâmetros que serão enviados via POST, adicione a quantidade que for necessária.
$options = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
); Esses são os parâmetros necessários para que a requisição seja enviada via post.
$context = stream_context_create($options); $result = file_get_contents($url_de_destino, false, $context);
Na primeira linha, criamos um contexto com nossas configurações e depois chamamos o “file_get_contents”.
A função “stream_context_create” utilizamos para criar um “fluxo de contexto”, conjuntos de parâmetros referentes a uma requisição.
O retorno em HTML está na variável “result”.
$url_de_destino = ""http://destino.com.br/salvar_test.php";
$postdata = http_build_query(
array(
'var1' => 'valor_var_1'
'var2' => valor_var_2'
)
);
$options = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($options);
$result = file_get_contents($url_de_destino, false, $context); Crie uma estrutura de “try / catch” na função “file_get_contents” para tratar possíveis falhas com a URL de Destino.
Problemas e observações:
Caso esse código não esteja funcionando em sua hospedagem, você pode utilizar o cURL para fazer essa operação.
Fazendo uma requisição Post utilizando Curl no PHP
Pedido que não fatura e e-mail que não sai porque todo job fica missed: como ler a cron_schedule, conferir o…
Uma função curta em PHP 8.3 que transforma Camiseta Preta Tamanho GG em camiseta-preta-tamanho-gg, sem depender do locale do servidor.
O banner registra o clique só no navegador e some. Veja a tabela MySQL e o endpoint que gravam a…
A classe do comando existe e o bin/magento list ignora ela. Falta o registro no di.xml: aqui vai a classe…
Como traduzir duas mil linhas do pt_BR.csv do Magento 2 lendo com fgetcsv e regravando com fputcsv, sem encostar na…
Produto variável respondendo "Desculpe, este produto não está disponível" mesmo com a variação ativa: limpe os transients do WooCommerce e…