{"id":231849,"date":"2022-12-30T20:13:00","date_gmt":"2022-12-30T17:13:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231849"},"modified":"2022-11-10T05:26:48","modified_gmt":"2022-11-10T02:26:48","slug":"tyoeskentely-curl-n-wordpressin-ja-valetin-kanssa","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/tyoeskentely-curl-n-wordpressin-ja-valetin-kanssa\/","title":{"rendered":"Ty\u00f6skentely cURL:n, WordPressin ja Valetin kanssa"},"content":{"rendered":"\n<p>Olen yksi niist\u00e4 tyypeist\u00e4, jotka k\u00e4ytt\u00e4v\u00e4t &#8211; <code>1.1.1.1<\/code>ja <code>1.0.0.1<\/code>-palvelimia <a href=\"https:\/\/1.1.1.1\/\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">ensisijaisena DNS-palvelimenani<\/a>.<\/p>\n<p>Mutta yksi ongelma, joka liittyy n\u00e4iden k\u00e4ytt\u00e4miseen p\u00e4\u00e4 DNS-palvelimina (ja ehk\u00e4 muitakin, en tied\u00e4, koska en ole kokeillut niit\u00e4), on se, ett\u00e4 kun k\u00e4yt\u00e4n cURL-osoitetta pyynt\u00f6jen tekemiseen kolmannen osapuolen palvelimelle, se johtaa usein 404:\u00e4\u00e4n.<\/p>\n<p>Onneksi siihen on helppo korjaus.<\/p>\n<h2>cURL, WordPress ja Valet<\/h2>\n<p>Lyhyesti sanottuna yksinkertainen muutos on lis\u00e4t\u00e4 paikallinen is\u00e4nt\u00e4 DNS-merkinn\u00e4ksi verkkoasetuksiin.<\/p>\n<p>Jos olet kiinnostunut n\u00e4kem\u00e4\u00e4n t\u00e4m\u00e4n tekemiseen tarvittavat vaiheet ja esimerkkikoodin, joka ei toimi (tietenkin ennen muutosta), lue eteenp\u00e4in.<\/p>\n<p>Huomaa, ett\u00e4 aion k\u00e4ytt\u00e4\u00e4 kuvakaappauksia t\u00e4h\u00e4n, mutta jos haluat muokata DNS-tiedostoja alkuper\u00e4isess\u00e4 k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4ss\u00e4si, se toimii yht\u00e4 hyvin.<\/p>\n<h3>DNS:n p\u00e4ivitt\u00e4minen<\/h3>\n<p>DNS-asetusten muuttaminen vaihtelee k\u00e4ytt\u00e4m\u00e4si k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4n mukaan.<\/p>\n<p>Jos k\u00e4yt\u00e4t macOS:\u00e4\u00e4, Verkko-v\u00e4lilehti ja Internet-yhteyden muodostamiseen k\u00e4ytett\u00e4v\u00e4n sovittimen lis\u00e4asetukset tarjoavat sinulle p\u00e4ivitett\u00e4v\u00e4t tiedot.<\/p>\n<p>Napsauta siin\u00e4 n\u00e4yt\u00f6ss\u00e4 DNS-v\u00e4lilehte\u00e4 ja lis\u00e4\u00e4 sitten <code>127.0.0.1<\/code>luettelosi alkuun.<\/p>\n<h3>Esimerkkikoodi<\/h3>\n<p>Kun kyse on syyn n\u00e4kemisest\u00e4, miksi t\u00e4llaiseen on teht\u00e4v\u00e4 jotain, olen aina pit\u00e4nyt <a href=\"https:\/\/gist.github.com\/tommcfarlin\/648da0d8f306d0f17984beeed80039c7#file-00-curl-example-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esimerkkikoodin n\u00e4kemisest\u00e4 hy\u00f6dyllisen\u00e4<\/a>. P\u00e4\u00e4syyn\u00e4 on se, ett\u00e4 se antaa meille jotain testattavaa ennen yll\u00e4 olevien muutosten tekemist\u00e4 ja sitten yll\u00e4 olevien muutosten tekemisen j\u00e4lkeen.<\/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>T\u00e4ss\u00e4 on k\u00e4ytt\u00e4m\u00e4ni koodi, joka ei toimi ilman yll\u00e4 olevaa oikeaa DNS-asetusta:<\/p>\n<p>Mutta kun DNS on p\u00e4ivitetty, t\u00e4m\u00e4 toimii hienosti. Ja ollakseni selv\u00e4\u00e4, kannatan edelleen <code>[wp_safe_remote_get](https:\/\/developer.wordpress.org\/reference\/functions\/wp_safe_remote_get\/)<\/code>ja <code>[wp_safe_remote_post](https:\/\/developer.wordpress.org\/reference\/functions\/wp_safe_remote_post\/)<\/code>mutta t\u00e4m\u00e4 hankkeiden luonne sanelee my\u00f6s, mit\u00e4 rajoituksia meill\u00e4 on.<\/p>\n<p>Lis\u00e4ksi, jos sinulla on mahdollisuus, tutustu n\u00e4ihin toimintoihin ja katso mit\u00e4 kulissien takana tapahtuu. \ud83d\ude42<\/p>\n<h2>Siin\u00e4 kaikki<\/h2>\n<p>Kuten aiemmin mainitsin, se on helppo prosessi. Minusta on kuitenkin ollut hy\u00f6dyllist\u00e4 jakaa, millainen koodi saattaa aiheuttaa ongelman, joten jos n\u00e4et jotain samanlaista ja saat samanlaisen tuloksen cURL:n, WordPressin ja Valetin avulla, tied\u00e4t kuinka ratkaista se.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Miksi DNS-asetusten p\u00e4ivitt\u00e4minen cURL:n, WordPressin ja Valetin kanssa voi ratkaista ongelmia.<\/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":[782,750,719,895,834,843,803,864],"tags":[1166],"class_list":["post-231849","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-avoimen-laehdekoodin-ohjelmisto","category-avoin-laehdekoodi","category-kehittaejae","category-koodi","category-opas-aloittelijoille","category-opetusohjelmia","category-php-5","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/231849","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=231849"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/231849\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/236977"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=231849"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=231849"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=231849"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}