Wordpress http api - documentație, secrete și subtilități în cuvinte simple

În PHP există mai multe modalități de a trimite o cerere HTTP, în WordPress numai una. Dar această metodă include toate opțiunile suportate de PHP - acesta este API-ul, este standard și este convenabil!







O scurtă introducere în API-ul HTTP

Pentru foarte noi, probabil că merită explicat ce este o solicitare HTTP. Aceasta este o cerere de la browser către server sau la un server la altul, unde apare un dialog similar:

  1. Bună server, puteți să-mi arătați fișierul: file.html?
  2. Salutări! Pot, aici este.

Se pare că acest tip de dialog este astfel (numai pe site-ul clientului în acest caz este serverul nostru, care solicită un alt server):

Wordpress http api - documentație, secrete și subtilități în cuvinte simple

Când se creează cereri HTTP în PHP, una dintre opțiuni este de obicei folosită: biblioteca cURL sau fluxurile (fluxurile) construite în PHP. Pentru a simplifica și a standardiza diferitele moduri de trimitere a cererilor, de la versiunea 2.7. în WordPress a apărut clasa WP_Http. care au stat la baza API-ului HTTP.

Cu versiunea WP 4.6 WP_Http core înlocuiește complet PHP Cererile de bibliotecă pentru PHP și acum toate interogările alerga prin ea. Clasele de mai sus WP_Http_Curl și WP_Http_Streams nu mai sunt utilizate. Astfel, tehnic HTTP API WordPress sa schimbat dramatic, dar a rămas aceeași în aparență: totul funcționează și funcționează. caracteristici noi, dintre care unele au apărut deja (header-case-insensitive, suport pentru domenii internaționale, cum ar fi böcean.ch), de asemenea, cu introducerea de cereri de biblioteci sunt de așteptat, și celelalte (cereri concurente) vor apărea în versiunile ulterioare, și totuși este posibilă doar folosind direct biblioteca Cereri.







Deprecitat cu WP 4.6. WP_Http determină tipul de transport și numește o altă clasă corespunzătoare acestui tip. Clasa apelată creează interogarea însăși. Implicit în WordPress există două astfel de clase, pentru diferite tipuri: WP_Http_Curl și WP_Http_Streams

Confortul și necesitatea unui astfel de API constă în faptul că gazde diferite susțin diferite opțiuni pentru trimiterea de cereri, iar altele nu acceptă niciunul. Sarcina API-ului HTTP este de a crea un singur standard pentru utilizarea interogărilor în WordPress, cererile fiind întotdeauna funcționale, dacă nu este acceptată o modalitate de a transporta solicitarea, atunci o alternativă va fi găsită.

Un alt plus al API-ului HTTP este că avem un singur standard de date care trebuie specificat atunci când lucrăm cu diferite tipuri de transport de interogare, adică specificăm întotdeauna aceiași parametri și le transmitem funcției API HTTP, iar clasa selectează deja tipul de transport corespunzător, de exemplu cURL, modifică parametrii pentru a înțelege tipul de transport curent și trimite cererea.

HTTP API WordPress astăzi este un API complet, care ia în considerare multe lucruri mici și corectează sute de erori. De asemenea, trebuie menționat faptul că, înainte de versiunea WP 4.4, API-ul HTTP a fost foarte diferit de ceea ce este acum, astfel încât unele dintre caracteristicile acestui manual ar putea să nu funcționeze în versiunile anterioare datei de 4.4.

Aproape toate posibilitățile de transport pot fi modificate prin opțiuni sau filtre. De exemplu, puteți adăuga o altă clasă de transport prin filtrul http_api_transports. Sau prin setarea constantelor din fișierul wp-config.php puteți activa modul proxy:

Pentru a înțelege cum funcționează proxy-ul, consultați clasa WP_HTTP_Proxy<>

În fine, API-ul HTTP poate fi extins cu ușurință pentru a lucra cu API-ul Twitter, API-ul Google Maps etc.

Funcții API HTTP și solicitarea trimiterii

Utilizarea API-ului HTTP este foarte simplă, pentru aceasta există funcții API speciale:

Funcții de trimitere a interogărilor:







Trimiteți-le prietenilor: