O privire la API-ul WordPress HTTP o sondaj scurt despre wp_remote_post

În prima serie a API-ului WordPress HTTP, am aruncat o privire wp_remote_get. Mai precis, am analizat următoarele aspecte ale API:

  • Un studiu al funcției
  • Un exemplu practic al acestora
  • Cum să rezolvați răspunsul
  • Și înțelegerea argumentelor pentru această funcție

Vom continua seria pe API-ul WordPress HTTP, dar ne vom îndrepta atenția asupra unei a doua metode a API-ului: wp_remote_post.

În cadrul următorului set de articole, vom face un studiu al funcției pentru a înțelege ce oferă funcția și de ce este util, un exemplu practic de implementare a acesteia în munca noastră, precum și de a înțelege funcțiile și răspunsul care vine din funcție.

Cu asta a spus, să începem sondajul nostru de funcție.


Solicitări la distanță: O actualizare

Dacă nu ați urmat până acum, vă recomand să verificați primul post din serie pentru a înțelege cel puțin elementele de bază ale modului OBȚINE solicită muncă.

Sincer, POST solicitările nu sunt atât de diferite. Doar noi OBȚINE cererile sunt de obicei utilizate pentru a prelua informații de la server, POST cererile sunt, de obicei, destinate să trimită mesaje către server.

Dar aici este chestia: ambele protocoale sunt capabile să trimită date și primiți date, dar aici este o regulă generală de bază pentru modul în care abordez de obicei solicitările GET și POST.

  • OBȚINE cererile sunt de obicei utilizate pentru recupera informații de la server, deci este de așteptat un răspuns
  • POST cererile sunt de obicei utilizate pentru trimite informații către server și, deși nu este de așteptat un răspuns, este întotdeauna plăcut să știți dacă serverul a primit și a procesat răspunsul în mod corespunzător sau nu

În restul articolelor din această parte a seriei, vom analiza modul în care trebuie să ne ocupăm de ambele cazuri - cum ar fi cum să ne ocupăm de lipsa unui răspuns și cum să ne ocupăm de răspunsul este dat.


Un rezumat al modului în care sunt făcute cererile

Acum, în ceea ce privește solicitările la nivelul serverului - în special în PHP - acestea sunt de obicei făcute având în vedere următoarele două funcții (cu excepția cazului în care utilizați o bibliotecă terță parte care nu se încadrează în această serie).

Deși le-am acoperit mai detaliat în primul post, le voi rezuma aici.

  • file_get_contents acceptă o adresă URL ca parametru și returnează datele solicitate sau un mesaj fals pentru eșec. Este o modalitate relativ obișnuită de a prelua date pentru cererile la distanță.
  • răsuci este o întreagă bibliotecă (mai degrabă decât o funcție) care oferă opțiuni complete de configurare pentru dezvoltatori pentru a se potrivi nevoilor lor. Sunt multe de învățat despre această bibliotecă. Dacă sunteți un dezvoltator avansat, verificați cu certitudine cURL.

În cea mai mare parte, înțelegerea modului în care sunt formulate cererile este destul de ușoară, dar gradul în care vă optimizați Cum cererile sunt făcute este complet dependent de opțiunea pe care o alegeți să o utilizați - adică, file_get_contents sau răsuci.

Desigur, aceasta este mai mult de modul PHP de a efectua cereri și, deși am putea implementa acest lucru în unele dintre activitățile noastre, în funcție de natura proiectului, acest lucru nu acoperă neapărat modul WordPress de a face acest lucru.

De fapt, cele de mai sus reprezintă o scurtă actualizare bazată pe conținutul anterior. Cu toate acestea, este important să înțelegeți de unde venim, ce este disponibil și unde ne îndreptăm.


Cum POST Cererile sunt făcute în WordPress

Așa cum am menționat, notele de mai sus sunt mult mai strâns legate de PHP, așa că haideți să aruncăm o privire la POST solicită în contextul WordPress.

Și dacă sunteți în afacerea de a construi proiecte pentru WordPress sau produse pe lângă WordPress, este important să înțelegeți API-urile disponibile pentru a vă asigura că nu pierdeți un anumit tip de caracteristică sau funcționalitate cu un upgrade la core Aplicația WordPress.

Deci, așa cum am analizat standardele de codificare WordPress pentru a revedea cele mai bune practici pentru scrierea codului bazat pe WordPress, acum ne vom uita la API-urile disponibile pentru scriere POST solicită utilizarea celor mai bune practici.

În acest scop, introduceți wp_remote_post.

Funcția acceptă două argumente:

  • Adresa URL la care se va face solicitarea
  • O serie de argumente care ajută la adaptarea cererii la server.

Deși multitudinea de argumente va fi într-o oarecare măsură în afara a ceea ce vom face în această serie, este important să înțelegeți ce este disponibil, mai ales dacă veți lucra mai mult în viitor:

  • metodă se referă la ce metodă este utilizată pentru solicitare. În mod evident, folosim POST având în vedere natura metodei API.
  • pauză este cât timp sunteți dispus să așteptați ca cererea să fie procesată înainte de a renunța. Valoarea implicită este de cinci secunde, dar aceasta poate fi scăzută sau mărită în funcție de natura aplicației dvs..
  • redirecționare se pare că este URL-ul la care ați fi redirecționat după ce cererea a fost finalizată, nu? În schimb, este o unitate de timp - în câteva secunde - să așteptăm o redirecționare înainte de a renunța la solicitare.
  • agent utilizator ne permite să controlam agentul utilizator care este trimis împreună cu cererea. De obicei, aceasta este WordPress și numărul versiunii, dar este evident personalizabil.
  • blocarea pe scurt, dacă aceasta este setată la adevărat, atunci scriptul va continua să fie executat până când ceva este returnat de pe server; în caz contrar, scriptul va continua să funcționeze fără a ține restul aplicației. Acordat, acest lucru se întâmplă în detrimentul potențialului de a nu primi niciodată un răspuns, dar în funcție de condițiile pentru care construiți, acest lucru poate fi bine.
  • comprima a fost introdus în WordPress 2.6 și vă permite să trimiteți corpul cererii într-un format comprimat. Acest lucru va fi în afara scopului articolelor noastre viitoare.
  • decomprima este similar cu compresia, cu excepția faptului că este la sfârșitul nostru - dacă sunt primite date comprimate, acest lucru ne va permite să decomprimăm conținutul înainte de a face orice lucrare sau prelucrare ulterioară pe el.
  • sslverify a fost introdus în WordPress 2.8 și este util pentru scenarii în care trebuie să verificați dacă o certificare SSL este validă. Dacă nu este, atunci cererea este respinsă; altfel, ești bine să pleci. Această opțiune va fi, de asemenea, în afara sferei de aplicare a acestui set de articole.

Evident, există multe lucruri disponibile. În următoarele câteva articole, sper să examinez câteva dintre acestea în detaliu, dar mai întâi să aruncăm o privire la un exemplu foarte simplu și practic de utilizare a funcției API.


hai POST o cerere

În acest moment, lucrurile ar trebui să fie destul de clare, nu? Utilizarea wp_remote_post ar trebui să fie la fel de ușor ca și utilizarea wp_remote_get astfel încât începând din articolul următor, vom face exact asta.

Până atunci, asigurați-vă că ați revizuit toate articolele care au condus la acest punct și vă rugăm să lăsați orice comentarii și / sau întrebări la acest post special în comentariile.

În continuare, vom merge la lucru!

Cod