
Utilizando cURL ou file_get_contents para fazer uma requisição no PHP
No código a seguir faço uma validação entre as duas formas de requisição para saber qual está funcionando corretamente, dando prioridade de uso para a biblioteca cURL.
$url_de_destino = "http://destinoexemplo.com.br/teste.hp";
/* valido se o lib cURL está instalando e habilitado, se a função curl_version existir, está ok */if (function_exists('curl_version')){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url_de_destino);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
/* Testo o método file_get_content e valido se a configuração "allow_url_open" está ativada */}else if (file_get_contents(__FILE__) && ini_get('allow_url_fopen')){
$result = file_get_contents($url_de_destino);
/* Nenhuma das duas opções está ativada */}else{
echo "Não foi possível fazer a requisição";
} Os comentários estão no próprio código.
Você pode utilizar estes POST para incrementar o código acima, adicionando parâmetros POSTs.
Requisição POST com retorno em HTML no PHP
Fazendo uma requisição Post utilizando Curl no PHP
Eu aconselho a utilização desse tipo de validação apenas em módulos, Plugins, etc, que serão instalados em ambiente aonde você não terá controle.
Se você estiver programando apenas para a sua aplicação, escolha apenas a opção que já está configurada em seu servidor.
Por que? A resposta é bem simples, desempenho e manutenção do código.
Não existe a necessidade de você ficar validando se existe a função 1 ou função 2, se você sabe que a função 1 está funcionando muito bem. Utilize ela é ponto final.
Afinal você vai ficar programando um “else” que nunca será acionado com qual motivo?
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…