I de to siste innleggene har vi tatt en kort oversikt over wp_remote_get
funksjon samt en praktisk implementering av hvordan du bruker den.
Før du går videre til andre aspekter av WordPress HTTP API, er det viktig å vite nøyaktig hvilken informasjon som returneres fra en ekstern samtale ved å bruke wp_remote_get
slik at du kan få full forståelse for dataene som returneres, for å skrive mer defensiv kode, og for å skrive mer kompliserte forespørsler dersom behovet oppstår.
Så i denne siste artikkelen om å utføre FÅ
forespørsler, vi skal gjennomgå akkurat det.
Husk at når du gjør en forespørsel ved hjelp av wp_remote_get
, det gjør du ikke bare må spesifisere en nettadresse. I tillegg kan du også sende et valgfritt utvalg av argumenter, som hver kan føre til at brukeren svarer på en annen måte hvis det leter etter bestemt informasjon.
I mange tilfeller vil argumentene ikke være nødvendig ettersom standardverdiene er tilstrekkelige; Men hvis du jobber med en avansert API eller er på utkikk etter en full forståelse av argumentene, bør følgende informasjon forklare hva hver av de tilgjengelige argumentene er, hvordan du bruker dem og hvilken innvirkning den har på forespørselen lages.
Dette argumentet refererer til type av forespørsel som blir gjort. Saken er, siden vi bruker wp_remote_get
, Vi er åpenbart eksplisitt å lage en FÅ
be om.
Når det er sagt, vil argumentet akseptere, FÅ
, POST
, og HODE
. Hvis du velger å bruke den nyeste versjonen av HTTP-protokollen, kan du også spesifisere ALTERNATIVER
, SETTE
, SLETT
, KOBLE
, og TRACE
.
Disse spesielle metodene er utenfor rammen av denne spesielle artikkelen siden vi primært fokuserer på FÅ
forespørsler, men jeg ville nevne dem alle her for fullstendighet.
Dette argumentet er hvor lenge forespørselen skal vente før du gir opp med å vente på et svar. Verdien er angitt i sekunder og standardverdien er fem.
Så, praktisk talt, sier du at "initiere en forespørsel og vent fem sekunder for svar. Hvis det ikke mottas noe svar, returner du en feil."
Selv om jeg aldri har hatt et problem med standardverdien, kan dette være noe verdt å endre hvis du tilfeldigvis jobber med en server som er opptatt, og / eller som bare håndterer et lavt antall forespørsler per sekund.
I likhet med timeout-argumentet angir denne verdien hvor lenge forespørselen skal vente på omdirigering før du gir opp.
Tingen er, FÅ
forespørsler vil sjelden resultere i omdirigering. Oftere enn ikke, FÅ
forespørsler vil forsøke å koble til en nettadresse for å hente data (og det kan eller ikke sende data i spørringsstrengen), og deretter vil det bare håndtere svaret eller feilen når forespørselen er fullført eller tidsbestemt.
Hvis du imidlertid planlegger å implementere en hvilken som helst type omadresseringsmekanisme, kan denne verdien angis om sekunder. Og, som timeout-argumentet, er standardverdien fem sekunder.
Dette refererer til versjonen av HTTP-protokollen som brukes. Selv om de tekniske aspektene av dette er utenfor omfanget av denne serien, støtter hver versjon av protokollen et varierende antall en forespørselstype.
Vi dekket hvert av disse over, og fordi vi eksplisitt lager FÅ
forespørsler med bruk av wp_remote_get
, da er denne verdien ikke en vi må endre.
For fullstendighet, da dette skrives, har HTTP-protokollen for øyeblikket versjon 1.0 og 1.1. Avhengig av hvilken versjon av protokollen din server støtter, kan du kanskje bruke et bredere utvalg av metoder.
Dette argumentet refererer til evnen til å gjøre en forespørsel uten å faktisk holde på innlasting av en side eller vente på en forespørsel om å fullføre.
Som standard er denne verdien satt til ekte som i sammenheng med FÅ
forespørsler, vi vil å vente på at svaret kommer tilbake, slik at vi kan gjøre noe med det; Men hvis du har det bra å lage en forespørsel (selv om dette vanligvis gjøres med a POST
forespørsel) som du ikke bryr deg om et svar, så kan du sette denne verdien til falsk.
Dette argumentet inneholder alt du vil bli sendt over ledningen enn standardverdiene. Når du utfører en FÅ
forespørsel, jeg personlig har ennå ikke funnet en grunn til å bruke noe annet enn det som sendes som standard; det betyr imidlertid ikke du trenger ikke å sende noe mer spesialisert i fremtiden.
Overskrifter består vanligvis av informasjon som innholdstype, koding av innholdet, MIME-typen og så videre.
Disse spesifikke verdiene er utenfor rammen av denne artikkelen; Imidlertid planlegger jeg å besøke dem når vi snakker om generelle eksterne forespørsler. Poenget med å nevne dem her er bare å definere nøyaktig hva som er mulig gitt denne artikkelen.
Dette argumentet er enkelt og for alle som har gjort noe med svardata, vet at dette i utgangspunktet er innholdet i forespørselen som sendes.
I sammenheng med a FÅ
forespørsel, dette kan eller ikke bestå av noen verdier. Ofte, FÅ
forespørsler inkluderer forespørselsstrengsparametere som kan tjene som innhold for forespørselen; Men hvis du trenger å spesifisere mer informasjon enn nøkkel / verdi-par eller trenger et eksplisitt sted å angi innholdet ditt, er dette argumentet du vil gjøre det.
Til slutt, hvis det er noen informasjonskapsler du må sende sammen med din forespørsel, så er dette parameteren du vil angi dem.
Dette er åpenbart mest nyttig i sammenheng med å be om data fra en nettadresse som du har etablert en slags økt eller hvor informasjon om tiden ligger på klientmaskinen - som en kake selvfølgelig - og det er sannsynligvis nødvendig å sende over ledningen til serveren.
Som med mange av argumentene ovenfor, er dette noe som ikke ofte brukes i a FÅ
forespørsel, men er fortsatt åpen for spesifikasjon, likevel.
Basert på hva vi har sett så langt, kan denne artikkelen gjøre wp_remote_get
se eksepsjonelt mer komplisert enn vårt praktiske eksempel. Saken er, det trenger ikke å være slik!
Husk at informasjonen som deles her, er bare å demonstrere hva du kan bruk mens du arbeider med denne spesielle API-metoden - ikke hva du ha å bruke.
Som vi fortsetter å se på HTTP API, ser vi disse argumentene mer og mer. De brukes imidlertid forskjellig - og ofte hyppigere - enn med andre metoder. Likevel er det verdt å dekke dem her som de er del av de aksepterte parametrene for wp_remote_get
.