
Para fazer uma requisição POST utilizando Curl no PHP, precisamos de poucas linhas de código.
Requisição POST seria o envio de variáveis (similar ao submit de um form com method post) para uma URL de destino.
Primeira parte do código:
$url = 'http://destino.com.br/salvar_teste.php'; $vars = 'nomedavariavel1=valorvar1&nomedavariavel2=valorvar2';
Temos a variavel “url”, com endereço de destino e “vars”, com os valores a serem enviados.
Observe bem a ordem da String, aonde temos o nome da variável, igual, valor da variável e o “e” comercial para concatenar com outra variável se necessário.
Segunda parte:
$ch = curl_init( $url ); curl_setopt( $ch, CURLOPT_POST, 1); curl_setopt( $ch, CURLOPT_POSTFIELDS, $vars); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt( $ch, CURLOPT_HEADER, 0); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec( $ch ); curl_close($ch);
Defino alguns valores para meu Curl, necessários para requisição
E no “curl_exec”, realizo o envio.
Se você deseja recuperar o retorno da página de destino, que pode ser um “json” por exemplo, adicione essa “curl_setopt” antes do curl_exec.
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);
Retorno você recupera na variável “response”.
Se o retorno for um JSON, você pode estar utilizando a função “json_decode” para transformar a String em um Array.
Observações:
Por Segurança:
Negar /.env no nginx parece resolvido até alguém pedir /wp-content/uploads/.env ou backup.sql. As regras que testei e os furos que…
O Search Console marca suas páginas 2, 3 e 4 como alternativas da página 1? Ajuste a tag canônica do…
Um módulo de terceiro plantou um banner no topo da loja e você não quer desinstalar nada: tire o bloco…
Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…
Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…
O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…