{"id":231845,"date":"2022-12-30T19:30:00","date_gmt":"2022-12-30T16:30:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231845"},"modified":"2022-11-10T05:26:15","modified_gmt":"2022-11-10T02:26:15","slug":"trabalhando-com-curl-wordpress-e-valet","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/trabalhando-com-curl-wordpress-e-valet\/","title":{"rendered":"Trabalhando com cURL, WordPress e Valet"},"content":{"rendered":"\n<p>Eu sou um desses tipos que usa o <code>1.1.1.1<\/code>e <code>1.0.0.1<\/code>como meus <a href=\"https:\/\/1.1.1.1\/\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">servidores DNS prim\u00e1rios<\/a>.<\/p>\n<p>Mas um problema que vem ao us\u00e1-los como meus principais servidores DNS (e talvez outros, n\u00e3o sei porque n\u00e3o os experimentei) \u00e9 que quando estou usando cURL para fazer solicita\u00e7\u00f5es a um servidor de terceiros, ele muitas vezes resultar\u00e1 em um 404.<\/p>\n<p>Felizmente, h\u00e1 uma solu\u00e7\u00e3o f\u00e1cil.<\/p>\n<h2>cURL, WordPress e manobrista<\/h2>\n<p>Resumindo, a mudan\u00e7a simples \u00e9 adicionar seu host local como uma entrada DNS \u00e0s suas prefer\u00eancias de rede.<\/p>\n<p>Se voc\u00ea estiver interessado em ver as etapas necess\u00e1rias para fazer isso e alguns exemplos de c\u00f3digo que n\u00e3o funcionar\u00e3o (antes da altera\u00e7\u00e3o, \u00e9 claro), continue lendo.<\/p>\n<p>Observe que usarei capturas de tela para isso, mas se voc\u00ea se sentir \u00e0 vontade para editar arquivos DNS em seu sistema operacional nativo, tamb\u00e9m funcionar\u00e1.<\/p>\n<h3>Atualizando DNS<\/h3>\n<p>Dependendo do sistema operacional que voc\u00ea est\u00e1 usando, a forma como voc\u00ea altera as configura\u00e7\u00f5es de DNS varia.<\/p>\n<p>Se voc\u00ea estiver usando o macOS, a guia Rede e as op\u00e7\u00f5es Avan\u00e7adas de qualquer adaptador a ser usado para se conectar \u00e0 Internet fornecer\u00e3o o que voc\u00ea precisa atualizar.<\/p>\n<p>Nessa tela, clique na guia DNS e adicione <code>127.0.0.1<\/code>ao topo da sua lista.<\/p>\n<h3>C\u00f3digo de amostra<\/h3>\n<p>Quando se trata de ver o motivo por tr\u00e1s da necessidade de fazer algo assim, sempre achei <a href=\"https:\/\/gist.github.com\/tommcfarlin\/648da0d8f306d0f17984beeed80039c7#file-00-curl-example-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u00fatil ver o c\u00f3digo de exemplo<\/a>. A principal raz\u00e3o \u00e9 que isso nos d\u00e1 algo para testar antes de fazer as altera\u00e7\u00f5es acima e depois de fazer as altera\u00e7\u00f5es acima.<\/p>\n<pre><code>&lt;?php\ntry {\n    $curl = curl_init();\n    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');\n    curl_setopt($curl, CURLOPT_URL, $url);\n    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);\n    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);\n    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);\n    $response = curl_exec($curl);\n\n    if (is_object($response)) {\n        return false;\n    }\n\n    if (false === $response) {\n        throw new Exception(curl_error($curl), curl_errno($curl));\n    }\n\n    curl_close($curl);\n} catch (Exception $e) {\n    trigger_error(\n        sprintf(\n            'Curl failed with error #%d: %s',\n            $e-&gt;getCode(),\n            $e-&gt;getMessage()\n        ),\n        E_USER_ERROR\n    );\n}<\/code><\/pre>\n<p>Com isso dito, aqui est\u00e1 um pouco de c\u00f3digo que eu estava usando que n\u00e3o funciona sem o DNS adequado configurado acima:<\/p>\n<p>Mas uma vez que o DNS foi atualizado, isso funciona bem. E, para ser claro, ainda defendo <code>[wp_safe_remote_get](https:\/\/developer.wordpress.org\/reference\/functions\/wp_safe_remote_get\/)<\/code>e, <code>[wp_safe_remote_post](https:\/\/developer.wordpress.org\/reference\/functions\/wp_safe_remote_post\/)<\/code>mas essa natureza dos projetos tamb\u00e9m ditar\u00e1 quais restri\u00e7\u00f5es temos.<\/p>\n<p>Al\u00e9m disso, d\u00ea uma olhada nessas fun\u00e7\u00f5es, se tiver a chance, para ver o que est\u00e1 acontecendo nos bastidores. \ud83d\ude42<\/p>\n<h2>Isso \u00e9 tudo<\/h2>\n<p>Como mencionei anteriormente, \u00e9 um processo f\u00e1cil. Achei \u00fatil compartilhar o tipo de c\u00f3digo que pode estar causando o problema, portanto, se voc\u00ea vir algo semelhante e estiver obtendo um resultado semelhante ao usar cURL, WordPress e Valet, saber\u00e1 como resolv\u00ea-lo.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por que atualizar suas configura\u00e7\u00f5es de DNS ao trabalhar com cURL, WordPress e Valet pode resolver problemas.<\/p>\n","protected":false},"author":1,"featured_media":236977,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,753,722,837,806,785,846,867],"tags":[1170],"class_list":["post-231845","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-codigo-aberto","category-desenvolvedor","category-guia-para-iniciantes","category-php-8","category-software-livre","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/231845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=231845"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/231845\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/236977"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=231845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=231845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=231845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}