3 maneiras de efetuar uma requisição POST de maneira nativa usando PHP

image_pdfimage_print

Sem utilizar bibliotecas ou códigos externo ao tradicional PHP, iremos apresentar 3 modos de efetuar uma operação de POST usando funções e recursos built-in do PHP.

1 – Maneira mais conhecida e tradicional. Utilizando o cURL.

$url = 'URL_DESEJADA';
$ch = curl_init($url);

//Dados a serem enviados via requisição POST
$data = [];
$data["blog"] = "Devblog Drall";
$data["avaliação"] "Muito bom!";
$data["patrocinar_artigos"] = "Sim";

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

2 – Utilizando o file_put_contents.

O que? como? file_put_contents é capaz de fazer isto? Não era só para salvar conteúdo em arquivos no disco, não?

$context = stream_context_create(array(
    'http' => array(
        'method' => 'POST',
        'header' => 'Content-Type: application/xml',
        'content' => $xml
    )
));

$result = file_get_contents($url, false, $context);

No exemplo acima, seria enviado um conteúdo XML para o servidor. Bastaria definir a variável $url e $xml com os conteúdos desejados.

2 – Utilizando o fopen.

//Dados a serem enviados via requisição POST
$data = [];
$data["blog"] = "Devblog Drall";
$data["avaliação"] "Muito bom!";
$data["patrocinar_artigos"] = "Sim";
$params = array('http'=>array('method'=>'post','content'=>http_build_query($data)));
$context= stream_context_create($params);
$stream= fopen($url, 'rb', false, $context);

Basta definir a variável $url e pronto! O exemplo acima irá fazer o envio dos dados para o servidor via POST, para a url definida na variável $url.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!