✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Trabalhando com cURL, WordPress e Valet

26

Eu sou um desses tipos que usa o 1.1.1.1e 1.0.0.1como meus servidores DNS primários.

Mas um problema que vem ao usá-los como meus principais servidores DNS (e talvez outros, não sei porque não os experimentei) é que quando estou usando cURL para fazer solicitações a um servidor de terceiros, ele muitas vezes resultará em um 404.

Felizmente, há uma solução fácil.

cURL, WordPress e manobrista

Resumindo, a mudança simples é adicionar seu host local como uma entrada DNS às suas preferências de rede.

Se você estiver interessado em ver as etapas necessárias para fazer isso e alguns exemplos de código que não funcionarão (antes da alteração, é claro), continue lendo.

Observe que usarei capturas de tela para isso, mas se você se sentir à vontade para editar arquivos DNS em seu sistema operacional nativo, também funcionará.

Atualizando DNS

Dependendo do sistema operacional que você está usando, a forma como você altera as configurações de DNS varia.

Se você estiver usando o macOS, a guia Rede e as opções Avançadas de qualquer adaptador a ser usado para se conectar à Internet fornecerão o que você precisa atualizar.

Nessa tela, clique na guia DNS e adicione 127.0.0.1ao topo da sua lista.

Código de amostra

Quando se trata de ver o motivo por trás da necessidade de fazer algo assim, sempre achei útil ver o código de exemplo. A principal razão é que isso nos dá algo para testar antes de fazer as alterações acima e depois de fazer as alterações acima.

<?php
try {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    $response = curl_exec($curl);

    if (is_object($response)) {
        return false;
    }

    if (false === $response) {
        throw new Exception(curl_error($curl), curl_errno($curl));
    }

    curl_close($curl);
} catch (Exception $e) {
    trigger_error(
        sprintf(
            'Curl failed with error #%d: %s',
            $e->getCode(),
            $e->getMessage()
        ),
        E_USER_ERROR
    );
}

Com isso dito, aqui está um pouco de código que eu estava usando que não funciona sem o DNS adequado configurado acima:

Mas uma vez que o DNS foi atualizado, isso funciona bem. E, para ser claro, ainda defendo [wp_safe_remote_get](https://developer.wordpress.org/reference/functions/wp_safe_remote_get/)e, [wp_safe_remote_post](https://developer.wordpress.org/reference/functions/wp_safe_remote_post/)mas essa natureza dos projetos também ditará quais restrições temos.

Além disso, dê uma olhada nessas funções, se tiver a chance, para ver o que está acontecendo nos bastidores. 🙂

Isso é tudo

Como mencionei anteriormente, é um processo fácil. Achei útil compartilhar o tipo de código que pode estar causando o problema, portanto, se você vir algo semelhante e estiver obtendo um resultado semelhante ao usar cURL, WordPress e Valet, saberá como resolvê-lo.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação