{"id":229074,"date":"2022-10-23T16:21:00","date_gmt":"2022-10-23T13:21:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229074"},"modified":"2022-11-09T05:26:02","modified_gmt":"2022-11-09T02:26:02","slug":"etaepyynnoet-wp_safe_remote_get-sovelluksella","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/etaepyynnoet-wp_safe_remote_get-sovelluksella\/","title":{"rendered":"Et\u00e4pyynn\u00f6t wp_safe_remote_get-sovelluksella"},"content":{"rendered":"\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/etaepyynnoet-wp_remote_get-sovelluksella\/\" title=\"Eilen\" >Eilen<\/a> jaoin viestin k\u00e4ytt\u00e4misest\u00e4, <code>wp_remote_get<\/code>mutta j\u00e4tin pois vaihtoehtoisen toiminnon: <code>wp_safe_remote_get<\/code>. Alkuper\u00e4inen tavoite oli k\u00e4ytt\u00e4\u00e4 ensimm\u00e4ist\u00e4 viesti\u00e4 n\u00e4ytt\u00e4m\u00e4\u00e4n:<\/p>\n<ol>\n<li>Mit\u00e4 alkuper\u00e4inen toiminto hyv\u00e4ksyy,<\/li>\n<li>Kuinka k\u00e4ytt\u00e4\u00e4 alkuper\u00e4ist\u00e4 toimintoa,<\/li>\n<li>Mit\u00e4 alkuper\u00e4inen funktio palauttaa,<\/li>\n<li>Milt\u00e4 toteutus n\u00e4ytt\u00e4\u00e4.<\/li>\n<\/ol>\n<p>Ja sitten menin katsomaan <code>wp_safe_remote_get<\/code>. Mutta siin\u00e4 on haaste: minulla on \u00e4lykk\u00e4it\u00e4 yst\u00e4vi\u00e4. Pian julkaisun julkaisemisen j\u00e4lkeen saan vastauksen <a href=\"https:\/\/twitter.com\/royboy789\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Roylta<\/a> :<\/p>\n<p>Kiitos, Roy! (Muista <a href=\"https:\/\/hiroy.club\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sanoa h\u00e4nelle &quot;Hei!&quot;<\/a>. \ud83d\ude42<\/p>\n<p>Mutta vakavasti, jatko eiliseen postaukseen on juuri t\u00e4m\u00e4: <code>wp_safe_remote_get<\/code>. Ja se, kuinka m\u00e4\u00e4ritt\u00e4\u00e4 ero n\u00e4iden kahden toiminnon v\u00e4lill\u00e4 ja milloin k\u00e4yt\u00e4t toista toiseen verrattuna.<\/p>\n<h2>wp_safe_remote_get<\/h2>\n<p>Suoraan API-dokumenteista <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_safe_remote_get\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">opimme<\/a> :<\/p>\n<blockquote>\n<p>T\u00e4m\u00e4 toiminto on ihanteellinen, kun HTTP-pyynt\u00f6 tehd\u00e4\u00e4n mielivaltaiseen URL-osoitteeseen. URL-osoite tarkistetaan uudelleenohjauksen v\u00e4ltt\u00e4miseksi ja v\u00e4\u00e4renn\u00f6shy\u00f6kk\u00e4ysten pyyt\u00e4miseksi.<\/p>\n<\/blockquote>\n<p>Ja samankaltaisesti kuin sen vastine, se hyv\u00e4ksyy URL-osoitteen ja sarjan argumentteja, jotka voivat m\u00e4\u00e4ritt\u00e4\u00e4, kuinka pyynt\u00f6 tehd\u00e4\u00e4n.<\/p>\n<p>Lis\u00e4ksi, aivan kuten <code>wp_remote_get<\/code>, se my\u00f6s palauttaa joukon vastaustietoja tai esiintym\u00e4n, <code>WP_Error<\/code>jos pyynt\u00f6 ep\u00e4onnistuu.<\/p>\n<p>T\u00e4m\u00e4n toiminnon k\u00e4ytt\u00e4minen ei eroa edellisest\u00e4, mutta se her\u00e4tt\u00e4\u00e4 kysymyksen:<\/p>\n<p>Milloin k\u00e4yt\u00e4mme toista toisen p\u00e4\u00e4lle? Tarkemmin sanottuna, milloin k\u00e4yt\u00e4mme <code>wp_remote_get<\/code>verrattuna <code>wp_safe_remote_get<\/code>?<\/p>\n<h3>Lue L\u00e4hde<\/h3>\n<p>Kun kohtaat t\u00e4m\u00e4nkaltaisen tilanteen, sinun kannattaa ensin lukea l\u00e4hde:<\/p>\n<ol>\n<li><a href=\"https:\/\/core.trac.wordpress.org\/browser\/tags\/4.7\/src\/wp-includes\/http.php#L168\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\"><code>wp_remote_get<\/code><\/a><\/li>\n<li><a href=\"https:\/\/core.trac.wordpress.org\/browser\/tags\/4.7\/src\/wp-includes\/http.php#L67\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\"><code>wp_safe_remote_get<\/code><\/a><\/li>\n<\/ol>\n<p>Jos luet yll\u00e4 olevat linkit, huomaat, ett\u00e4 j\u00e4lkimm\u00e4inen hylk\u00e4\u00e4 &quot;turvattomat URL-osoitteet&quot;, jotka <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_http_validate_url\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_http_validate_url<\/a> m\u00e4\u00e4ritt\u00e4\u00e4 useiden \u00a0edistyneiden tarkistusten avulla.<\/p>\n<h3>Mutta silti, kumpaa k\u00e4yt\u00e4n?<\/h3>\n<p>T\u00e4m\u00e4 j\u00e4tt\u00e4\u00e4 kysymyksen edelleen vastaamatta, eik\u00f6 niin? Mielest\u00e4ni on helppo tehd\u00e4 yleislausunto, ett\u00e4 sinun tulee aina k\u00e4ytt\u00e4\u00e4 wp_safe_remote_get-k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4\u00e4 (tai wp_safe_remote_post).<\/p>\n<p>Kaikki projektit ovat kuitenkin erilaisia.<\/p>\n<p>Jos esimerkiksi ty\u00f6skentelet laajennuksen parissa, jota aiotaan k\u00e4ytt\u00e4\u00e4 vain intranetiss\u00e4, ja voit hallita esimerkiksi sallittujen URL-osoitteiden luetteloa, joka voidaan siirt\u00e4\u00e4 funktioon, voit k\u00e4ytt\u00e4\u00e4 ensin mainittua.<\/p>\n<p>Jos kuitenkin esit\u00e4t j\u00e4lkimm\u00e4isen k\u00e4ytt\u00e4jille, k\u00e4yt\u00e4 aina toiminnon turvallista versiota.<\/p>\n<h2>Lyhyesti<\/h2>\n<p>Nyrkkis\u00e4\u00e4nt\u00f6ni on t\u00e4m\u00e4 (ja se on samanlainen kuin desinfiointi):<\/p>\n<p>Jos k\u00e4ytt\u00e4j\u00e4t ovat vuorovaikutuksessa toiminnon kanssa, varmista, ett\u00e4 he ovat vuorovaikutuksessa koodin turvallisimman version kanssa.<\/p>\n<p>Muuten vaarassa on liikaa.<\/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>Jos et ole varma, milloin k\u00e4ytt\u00e4\u00e4 wp_remote_get tai wp_safe_remote_get, ehk\u00e4 t\u00e4m\u00e4 viesti auttaa sinua m\u00e4\u00e4ritt\u00e4m\u00e4\u00e4n, milloin se on paras.<\/p>\n","protected":false},"author":1,"featured_media":168025,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[719,895,813,864],"tags":[1166],"class_list":["post-229074","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-koodi","category-laajennuksia","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229074","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=229074"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229074\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/168025"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=229074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=229074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=229074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}