{"id":231460,"date":"2022-12-30T20:08:00","date_gmt":"2022-12-30T17:08:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231460"},"modified":"2022-12-25T22:08:09","modified_gmt":"2022-12-25T19:08:09","slug":"trabajando-con-curl-wordpress-y-valet","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/trabajando-con-curl-wordpress-y-valet\/","title":{"rendered":"Trabajando con cURL, WordPress y Valet"},"content":{"rendered":"\n<p>Soy uno de esos tipos que usa <code>1.1.1.1<\/code>y <code>1.0.0.1<\/code>como mis <a href=\"https:\/\/1.1.1.1\/\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">servidores DNS primarios<\/a>.<\/p>\n<p>Pero un problema que surge con el uso de estos como mis servidores DNS principales (y tal vez otros, no s\u00e9 porque no los he probado) es que cuando uso cURL para realizar solicitudes a un servidor de terceros, a menudo resultar\u00e1 en un 404.<\/p>\n<p>Afortunadamente, hay una soluci\u00f3n f\u00e1cil.<\/p>\n<h2>cURL, WordPress y valet<\/h2>\n<p>En resumen, el cambio simple es agregar su host local como una entrada de DNS a sus preferencias de red.<\/p>\n<p>Si est\u00e1 interesado en ver los pasos necesarios para hacer esto y alg\u00fan c\u00f3digo de ejemplo que no funcionar\u00e1 (antes del cambio, por supuesto), siga leyendo.<\/p>\n<p>Tenga en cuenta que usar\u00e9 capturas de pantalla para esto, pero si se siente c\u00f3modo editando archivos DNS en su sistema operativo nativo, funcionar\u00e1 igual de bien.<\/p>\n<h3>Actualizaci\u00f3n de DNS<\/h3>\n<p>Dependiendo del sistema operativo que est\u00e9 utilizando, la forma en que llegue a cambiar la configuraci\u00f3n de DNS variar\u00e1.<\/p>\n<p>Si est\u00e1 utilizando macOS, la pesta\u00f1a Red y las opciones Avanzadas para cualquier adaptador que use para conectarse a Internet le proporcionar\u00e1n lo que necesita para actualizar.<\/p>\n<p>En esa pantalla, haga clic en la pesta\u00f1a DNS y luego agregue <code>127.0.0.1<\/code>a la parte superior de su lista.<\/p>\n<h3>C\u00f3digo de muestra<\/h3>\n<p>Cuando se trata de ver la raz\u00f3n detr\u00e1s de la necesidad de hacer algo como esto, siempre he encontrado <a href=\"https:\/\/gist.github.com\/tommcfarlin\/648da0d8f306d0f17984beeed80039c7#file-00-curl-example-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u00fatil ver el c\u00f3digo de muestra<\/a>. La raz\u00f3n principal es que nos da algo para probar antes de realizar los cambios anteriores y luego despu\u00e9s de realizar los cambios anteriores.<\/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>Dicho esto, aqu\u00ed hay un poco de c\u00f3digo que estaba usando que no funciona sin el DNS adecuado configurado arriba:<\/p>\n<p>Pero una vez que se actualiz\u00f3 el DNS, esto funciona bien. Y, para ser claros, todav\u00eda defiendo <code>[wp_safe_remote_get](https:\/\/developer.wordpress.org\/reference\/functions\/wp_safe_remote_get\/)<\/code>y <code>[wp_safe_remote_post](https:\/\/developer.wordpress.org\/reference\/functions\/wp_safe_remote_post\/)<\/code>pero esa naturaleza de los proyectos tambi\u00e9n dictar\u00e1 qu\u00e9 limitaciones tenemos.<\/p>\n<p>Adem\u00e1s, eche un vistazo a esas funciones, si tiene la oportunidad, para ver qu\u00e9 sucede detr\u00e1s de escena. \ud83d\ude42<\/p>\n<h2>Eso es todo<\/h2>\n<p>Como mencion\u00e9 anteriormente, es un proceso f\u00e1cil. Sin embargo, me result\u00f3 \u00fatil compartir qu\u00e9 tipo de c\u00f3digo puede estar causando el problema, por lo que si ve algo similar y obtiene un resultado similar al usar cURL, WordPress y Valet, entonces sabe c\u00f3mo resolverlo.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfPor qu\u00e9 actualizar su configuraci\u00f3n de DNS cuando trabaja con cURL, WordPress y Valet puede 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":[892,716,747,831,800,779,840,861],"tags":[1172],"class_list":["post-231460","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-fuente-abierta","category-guia-para-principiantes","category-php-2","category-software-de-codigo-abierto","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231460","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=231460"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231460\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/236977"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=231460"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=231460"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=231460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}