Een blik op de WordPress HTTP API wp_remote_get - de argumenten

In de laatste twee posten hebben we een kort overzicht van de wp_remote_get functie evenals een praktische implementatie van hoe het te gebruiken.

Voordat u verdergaat met andere aspecten van de WordPress HTTP API, is het belangrijk om precies te weten welke informatie wordt geretourneerd door een externe oproep met wp_remote_get zodat je een goed begrip hebt van de geretourneerde gegevens, meer defensieve code kunt schrijven en ingewikkelder aanvragen kunt schrijven als de noodzaak zich voordoet.

Dus in dit laatste artikel over uitvoeren KRIJGEN verzoeken, we gaan dat precies beoordelen.


Een beoordeling van het verzoek

Vergeet niet dat wanneer u een verzoek doet met behulp van wp_remote_get, jij niet enkel en alleen moet een URL opgeven. Bovendien kunt u ook een optionele array van argumenten verzenden, die elk de reactie van de server op een andere manier kunnen veroorzaken als het zoekt naar bepaalde informatie.

De argumenten

In veel gevallen zijn de argumenten niet nodig, omdat de standaardwaarden voldoende zijn; Als u echter met een geavanceerde API werkt of op zoek bent naar een volledig begrip van de argumenten, moet de volgende informatie uitleggen wat elk van de beschikbare argumenten is, hoe u deze kunt gebruiken en welke impact dit heeft op de aanvraag gemaakt worden.

Methode

Dit argument verwijst naar de type van het verzoek dat wordt gedaan. Het ding is, omdat we gebruiken wp_remote_get, we maken duidelijk expliciet een KRIJGEN verzoek.

Dat gezegd hebbende, het argument zal accepteren, KRIJGEN, POST, en HOOFD. Als u ervoor kiest om de nieuwste versie van het HTTP-protocol te gebruiken, kunt u ook opgeven OPTIES, LEGGEN, DELETE, AANSLUITEN, en SPOOR.

Deze specifieke methoden vallen buiten het bestek van dit specifieke artikel, omdat we ons hier primair op richten KRIJGEN verzoeken, maar ik wilde ze hier allemaal voor de volledigheid noemen.

Time-out

Dit argument is hoe lang het verzoek moet wachten voordat het opgeeft om te wachten op een reactie. De waarde wordt opgegeven in seconden en de standaardwaarde is vijf.

Dus, praktisch gezien, zeg je dat "een verzoek initieert en vijf seconden wacht op een reactie. Als er geen antwoord wordt ontvangen, stuur dan een foutmelding terug."

Hoewel ik nooit een probleem met de standaardwaarde heb gehad, is dit misschien iets dat de moeite waard is om te veranderen als je toevallig werkt met een server die bezet is en / of die maar een klein aantal verzoeken per seconde verwerkt.

Redirection

Vergelijkbaar met het time-outargument, geeft deze waarde aan hoelang het verzoek moet wachten op een omleiding voordat het opgeeft.

Het ding is, KRIJGEN verzoeken zullen zelden resulteren in een omleiding. Vaak, KRIJGEN verzoeken proberen een verbinding tot stand te brengen met een URL om gegevens op te halen (en deze kunnen al dan niet gegevens in de queryreeks verzenden) en zullen vervolgens eenvoudigweg het antwoord of de fout afhandelen nadat het verzoek is voltooid of een time-out is opgetreden.

Als u echter van plan bent een willekeurig omleidingsmechanisme te implementeren, kan deze waarde in seconden worden opgegeven. En, net als het time-outargument, is de standaardwaarde vijf seconden.

HTTPVersion

Dit verwijst naar de versie van het HTTP-protocol dat wordt gebruikt. Hoewel de technische aspecten hiervan buiten het bereik van deze reeks vallen, ondersteunt elke versie van het protocol een variërend aantal van een verzoektype.

We hebben elk van bovenstaande besproken en omdat we expliciet maken KRIJGEN verzoeken met het gebruik van wp_remote_get, dan is deze waarde niet iets dat we moeten wijzigen.

Ten behoeve van de volledigheid heeft het HTTP-protocol op dit moment echter versie 1.0 en 1.1. Afhankelijk van de versie van het protocol dat door uw server wordt ondersteund, kunt u mogelijk een grotere verscheidenheid aan methoden gebruiken.

Het blokkeren

Dit argument verwijst naar de mogelijkheid om een ​​verzoek in te dienen zonder het laden van een pagina daadwerkelijk op te houden of te wachten tot een verzoek is voltooid.

Standaard is deze waarde ingesteld op true zoals in de context van KRIJGEN verzoeken, wij willen te wachten op de reactie om terug te keren, zodat we er iets mee kunnen doen; als u echter een verzoek kunt indienen (hoewel dit meestal wordt gedaan met een POST aanvraag) waarvoor u niet om een ​​reactie geeft, dan kunt u deze waarde op false instellen.

headers

Dit argument bevat alles dat u over de draad wilt verzenden, anders dan de standaardwaarden. Bij het uitvoeren van een KRIJGEN verzoek, moet ik persoonlijk nog een reden vinden om iets anders te gebruiken dan wat standaard wordt verzonden; dat betekent echter niet u hoeft in de toekomst niet meer gespecialiseerd te verzenden.

Headers bestaan ​​over het algemeen uit informatie zoals het inhoudstype, de codering van de inhoud, het MIME-type, enzovoort.

Deze specifieke waarden vallen buiten het bestek van dit artikel; Ik ben echter van plan deze opnieuw te bekijken als we het hebben over algemene verzoeken op afstand. Het punt om ze hier te noemen, is simpelweg om precies te definiëren wat mogelijk is gezien dit artikel.

Lichaam

Dit argument is eenvoudig en voor iedereen die enig werk met antwoordgegevens heeft gedaan weet dat dit feitelijk de inhoud is van het verzoek dat wordt verzonden.

In de context van a KRIJGEN verzoek, dit kan al dan niet uit waarden bestaan. Vaak tijden, KRIJGEN verzoeken bevatten queryreeksparameters die kunnen dienen als inhoud voor het verzoek; Als u echter meer informatie moet opgeven dan sleutel / waardeparen of een expliciete plaats nodig heeft om uw inhoud te vermelden, dan is dit het argument waarin u dit zou doen.

koekjes

Als er ten slotte cookies zijn die u met uw verzoek moet verzenden, dan is dit de parameter waarin u ze zou opgeven.

Dit is uiteraard het nuttigst in het kader van het opvragen van gegevens van een URL waarmee u een soort sessie hebt opgezet of waarin bepaalde informatie zich momenteel op de clientcomputer bevindt - uiteraard als een cookie - en die waarschijnlijk moet worden verzonden over de draad naar de server.

Zoals met veel van de bovenstaande argumenten, is dit iets dat niet vaak wordt gebruikt in een KRIJGEN aanvraag, maar is nog steeds open voor specificatie.


Conclusie

Op basis van wat we tot nu toe hebben gezien, kan dit artikel maken wp_remote_get zien er uitzonderlijk ingewikkelder uit dan ons praktische voorbeeld. Het ding is, het hoeft niet zo te zijn!

Vergeet niet dat de informatie die hier wordt gedeeld puur is om te laten zien wat jij bent kan gebruik tijdens het werken met deze specifieke API-methode - niet wat u hebben gebruiken.

Naarmate we de HTTP API blijven bekijken, zullen we deze specifieke argumenten steeds vaker zien; ze worden echter anders gebruikt - en vaak vaker - dan met andere methoden. Toch is het de moeite waard ze hier te behandelen zoals zij zijn een deel van de geaccepteerde parameters van wp_remote_get.