O privire la API-ul WordPress HTTP wp_remote_get - Argumentele

În ultimele două postări, am făcut un scurt sondaj despre wp_remote_get precum și o implementare practică a modului de utilizare a acesteia.

Înainte de a trece la alte aspecte ale API-ului WordPress HTTP, este important să știți exact ce informații sunt returnate dintr-un apel la distanță folosind wp_remote_get astfel încât să puteți înțelege pe deplin datele returnate, să scrieți un cod mai defensiv și să scrieți cereri mai complicate în cazul în care va apărea necesitatea.

Deci, în acest articol final cu privire la efectuarea OBȚINE cererile, vom examina exact acest lucru.


O examinare a cererii

Amintiți-vă că ori de câte ori faceți o cerere folosind wp_remote_get, nu știți numai trebuie să specificați o adresă URL. În plus, puteți trimite și o serie opțională de argumente, fiecare dintre acestea putând cauza serverului să răspundă diferit dacă căutăm informații particulare.

Argumentele

În multe cazuri, argumentele nu vor fi necesare deoarece valorile implicite vor fi suficiente; cu toate acestea, dacă lucrați cu un API avansat sau căutați o înțelegere completă a argumentelor, atunci următoarele informații ar trebui să explice care sunt argumentele disponibile, modul de utilizare a acestora și impactul pe care îl are asupra solicitării fiind facut.

Metodă

Acest argument se referă la tip a cererii care se face. Chestia e, de când o folosim wp_remote_get, evident, facem în mod explicit OBȚINE cerere.

Acestea fiind spuse, argumentul va accepta, OBȚINE, POST, și CAP. Dacă alegeți să utilizați cea mai recentă versiune a protocolului HTTP, puteți, de asemenea, să specificați OPȚIUNI, A PUNE, ȘTERGE, CONECTAȚI, și URMĂ.

Aceste metode speciale sunt dincolo de sfera de aplicare a acestui articol special, deoarece ne concentrăm în primul rând pe OBȚINE cererile, dar am vrut să le menționez pe toți aici pentru completitudine.

Pauză

Acest argument este cât timp cererea ar trebui să aștepte înainte de a renunța la așteptarea unui răspuns. Valoarea este specificată în secunde și valoarea implicită este de cinci.

Deci, practic vorbind, spuneți că "inițiați o solicitare și așteptați cinci secunde pentru un răspuns. Dacă nu primiți nici un răspuns, întoarceți o eroare".

Deși nu am avut niciodată o problemă cu valoarea implicită, poate fi ceva care merită schimbat dacă lucrați cu un server ocupat și / sau care se ocupă de un număr redus de cereri pe secundă.

Redirectionarea

Similar cu argumentul timeout, această valoare specifică cât timp cererea ar trebui să aștepte o redirecționare înainte de a renunța.

Lucrul este, OBȚINE cererile vor duce rareori la o redirecționare. Mai des decât nu, OBȚINE solicitările vor încerca să se conecteze la o adresă URL pentru a prelua datele (și pot sau nu să trimită date în șirul de interogare) și apoi vor purta pur și simplu răspunsul sau eroarea după finalizarea sau expirarea cererii.

Dacă, totuși, intenționați să implementați orice tip de mecanism de redirecționare, această valoare poate fi specificată în câteva secunde. Și, ca și argumentul timeout, valoarea implicită este de cinci secunde.

HTTPVersion

Aceasta se referă la versiunea protocolului HTTP utilizat. Deși aspectele tehnice ale acestui aspect depășesc sfera acestei serii, fiecare versiune a protocolului acceptă un număr diferit de tip de solicitare.

Am acoperit fiecare din cele de mai sus și pentru că facem în mod explicit OBȚINE cererile cu utilizarea wp_remote_get, atunci această valoare nu este una pe care ar trebui să o modificăm.

Cu toate acestea, pentru completare, în momentul acestei scrieri, protocolul HTTP are în prezent versiunea 1.0 și 1.1. În funcție de ce versiune a protocolului suportă serverul dvs., este posibil să utilizați o varietate mai largă de metode.

blocarea

Acest argument se referă la capacitatea de a face o solicitare fără a deține efectiv încărcarea unei pagini sau de așteptare pentru o cerere de completat.

În mod implicit, această valoare este setată la adevărat ca în contextul OBȚINE cererile, noi vrei să așteptăm ca răspunsul să se întoarcă, astfel încât să putem face ceva cu el; cu toate acestea, dacă sunteți bine face o cerere (deși acest lucru este de obicei făcut cu un POST cerere) pentru care nu vă pasă de un răspuns, atunci puteți seta această valoare la falsă.

Cap

Acest argument include tot ceea ce doriți să fiți trimis prin alt fir decât valorile implicite. Când efectuați a OBȚINE cererea, eu personal încă nu am găsit motive să folosesc altceva decât ceea ce este trimis în mod implicit; totuși, asta nu înseamnă tu nu va trebui să trimită ceva mai specializat în viitor.

Anteturile constau, în general, în informații cum ar fi tipul de conținut, codarea conținutului, tipul MIME și așa mai departe.

Aceste valori particulare sunt dincolo de domeniul de aplicare al acestui articol; cu toate acestea, intenționez să le revizuiesc când vorbim despre cereri generale la distanță. Punctul de a le menționa aici este pur și simplu să se definească exact ceea ce este posibil având în vedere acest articol.

Corp

Acest argument este simplu și pentru oricine a făcut orice lucrare cu date de răspuns știe că acesta este, în esență, conținutul cererii trimise.

În contextul a OBȚINE cererea, aceasta poate sau nu poate consta din orice valoare. De multe ori, OBȚINE cererile includ parametrii șirului de interogare care pot servi drept conținut pentru solicitare; cu toate acestea, dacă aveți nevoie să specificați mai multe informații decât perechile cheie / valoare sau aveți nevoie de un loc explicit pentru a vă prezenta conținutul, atunci acesta este argumentul în care ați făcut acest lucru.

fursecuri

În cele din urmă, dacă există module cookie pe care trebuie să le trimiteți împreună cu cererea dvs., atunci acesta este parametrul în care le specificați.

Acest lucru este în mod evident cel mai util în contextul solicitării de date dintr-o adresă URL cu care ați stabilit un anumit tip de sesiune sau în care anumite informații se află în prezent în mașina client - fire cookie - și este probabil necesar să trimiteți prin fir pe server.

Ca și în cazul multora dintre argumentele de mai sus, acesta este ceva care nu este folosit frecvent în a OBȚINE cererea, dar este încă deschisă pentru specificare, totuși.


Concluzie

Pe baza a ceea ce am văzut până acum, acest articol se poate face wp_remote_get arata extrem de complicat decat exemplul nostru practic. Chestia e că nu trebuie să fie așa!

Amintiți-vă, informațiile partajate aici sunt doar pentru a demonstra ceea ce voi poate sa utilizați în timp ce lucrați cu această metodă API specială - nu ceea ce dvs. avea a folosi.

Pe măsură ce vom examina în continuare API-ul HTTP, vom vedea din ce în ce mai mult aceste argumente particulare; totuși, ele sunt folosite diferit - și de multe ori mai frecvent - decât prin alte metode. Cu toate acestea, merită să le acoperiți aici ca ei sunteți o parte din parametrii acceptați wp_remote_get.

Cod