PHP

cURL ou file_get_contents, utilizando os dois métodos no PHP

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

Observações sobre cURL ou file_get_contents

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?

Resumo
Nome do Artigo
Utilizando cURL ou file_get_contents,
Descrição
Utilizando cURL ou file_get_contents para fazer uma requisição no PHP, validando qual método está habilitado e pronto para ser utilizado
Autor
Editor
Roger Mauricio Takemiya
Logo do Editor

Post Recentes

CNPJ alfanumérico Magento 2: módulo grátis com máscara e validação

Módulo gratuito Roger_CnpjAlfanumerico que aplica máscara e validação do novo CNPJ alfanumérico no checkout e formulários do Magento 2 e…

4 dias atrás

CNPJ alfanumérico no WooCommerce: plugin grátis de máscara e validação

A partir de 06/07/2026 a Receita passa a emitir CNPJ alfanumérico. Conheça o plugin grátis que aplica máscara e validação…

4 dias atrás

Como remover um modulo do Magento 2

Para remover um módulo do Magento 2, siga os passos abaixo: 1. Desabilitar o módulo Primeiro, desabilite o módulo usando…

1 ano atrás

Criar um memorando de crédito (cancelar) invoice no Magento 2

Para cancelar 100% do pedido e criar um crédito para todos os itens através da API REST do Magento 2,…

2 anos atrás

Consultando no banco quantidade disponivel para Venda (estoque)

No Magento 2, a quantidade "reservada" na "Salable Quantity" é gerenciada principalmente pelos módulos MSI (Multi-Source Inventory). A "Salable Quantity"…

2 anos atrás

Admin do Magento 2 não acessa

Como corrigir o erro ao acessar o Admin do Magento 2. Mesmo após fazer o login, permanece na tela de…

2 anos atrás