Uno sguardo all'API HTTP di WordPress una breve indagine su wp_remote_post

Nella prima serie sull'API HTTP di WordPress, abbiamo dato un'occhiata a wp_remote_get. Nello specifico, abbiamo dato un'occhiata ai seguenti aspetti dell'API:

  • Un sondaggio sulla funzione
  • Un esempio pratico di ciò
  • Come gestire la risposta
  • E capire gli argomenti per la funzione

Continueremo la serie sull'API HTTP di WordPress, ma concentreremo la nostra attenzione su un secondo metodo dell'API: wp_remote_post.

Durante la prossima serie di articoli, esamineremo la funzione per capire cosa offre la funzione e perché è utile, un esempio pratico di come implementarla nel nostro lavoro, nonché come capire le funzioni e la risposta che viene dalla funzione.

Detto questo, iniziamo il nostro sondaggio sulla funzione.


Richieste remote: A Aggiorna

Se non hai seguito fino ad ora, consiglio vivamente di dare un'occhiata al primo post della serie per capire almeno le basi di come OTTENERE richiede lavoro.

Onestamente, INVIARE le richieste non sono poi così diverse. Proprio come OTTENERE le richieste vengono in genere utilizzate per recuperare informazioni dal server, INVIARE le richieste di solito servono a inviare messaggi al server.

Ma ecco il punto: entrambi i protocolli sono in grado di inviare dati e ricevendo dati, ma ecco una regola generale per come approccio in genere le richieste GET e POST.

  • OTTENERE le richieste vengono in genere utilizzate recuperare informazioni dal server, quindi è prevista una risposta
  • INVIARE le richieste vengono in genere utilizzate inviare informazioni al server e sebbene non ci si possa aspettare una risposta, è sempre opportuno sapere se il server ha ricevuto ed elaborato correttamente la risposta o meno

Nel resto degli articoli in questa parte della serie, daremo un'occhiata a come gestire entrambi i casi, ovvero come gestire quando non viene fornita alcuna risposta e come gestire una risposta è dato.


Un riassunto di come le richieste sono fatte

Ora, per quanto riguarda le richieste a livello di server, in particolare in PHP, di solito vengono create con le seguenti due funzioni (a meno che non si stia utilizzando una libreria di terze parti che non rientra nell'ambito di questa serie).

Anche se abbiamo trattato questi dettagli in modo più dettagliato nel primo post, li riassumerò qui.

  • file_get_contents accetta un URL come parametro e restituirà i dati richiesti o falsi in caso di errore. È un modo relativamente comune per recuperare i dati per le richieste remote.
  • arricciare è un'intera libreria (piuttosto che una funzione) che fornisce opzioni di configurazione complete per gli sviluppatori da adattare alle proprie esigenze. C'è molto da imparare su questa libreria. Se sei uno sviluppatore avanzato, controlla sicuramente cURL.

Per la maggior parte, capire come vengono fatte le richieste è abbastanza facile, ma il grado di ottimizzazione Come le richieste sono fatte dipende completamente da quale opzione si sceglie di utilizzare - cioè, file_get_contents o arricciare.

Naturalmente, questo è più del modo PHP di eseguire richieste e sebbene potremmo applicarlo in alcuni dei nostri lavori a seconda della natura del progetto, questo non copre necessariamente il modo in cui WordPress lo fa.

In realtà, quanto sopra è un breve ripasso basato sul contenuto precedente. Tuttavia, è importante capire da dove veniamo, cosa è disponibile e dove siamo diretti.


Come INVIARE Le richieste sono fatte in WordPress

Come accennato, le note sopra sono molto più strettamente correlate a PHP, quindi diamo un'occhiata a INVIARE richieste nel contesto di WordPress.

E se sei nel business della costruzione di progetti per WordPress o di prodotti su WordPress, è importante capire le API che sono disponibili per assicurarti di non perdere qualche tipo di funzionalità o funzionalità con un aggiornamento al core Applicazione WordPress.

Quindi, proprio come abbiamo visto gli standard di codifica di WordPress per rivedere le migliori pratiche per scrivere codice basato su WordPress, ora guarderemo le API disponibili per la scrittura INVIARE richiede l'utilizzo delle migliori pratiche.

A tal fine, inserisci wp_remote_post.

La funzione accetta due argomenti:

  • L'URL a cui verrà effettuata la richiesta
  • Una serie di argomenti che aiutano a personalizzare la richiesta al server.

Anche se la serie di argomenti sarà alquanto estranea alla portata di ciò che faremo in questa serie, è importante capire cosa è disponibile soprattutto se in futuro avremo un lavoro più avanzato:

  • metodo si riferisce a quale metodo viene utilizzato per la richiesta. Stiamo ovviamente usando INVIARE data la natura del nostro metodo API.
  • tempo scaduto è per quanto tempo sei disposto ad aspettare che la richiesta venga elaborata prima di mollare. Il valore predefinito è cinque secondi, ma può essere ridotto o aumentato in base alla natura dell'applicazione.
  • reindirizzamento sembra che sia l'URL a cui verrai reindirizzato dopo che la richiesta è stata completata, giusto? Invece, è un'unità di tempo - in secondi - che aspetta un reindirizzamento prima di rinunciare alla richiesta.
  • user-agent ci consente di controllare lo user-agent che viene inviato insieme alla richiesta. Di solito, questo è WordPress e il numero di versione, ma ovviamente è personalizzabile.
  • blocco in breve, se è impostato su true, lo script continuerà ad essere eseguito fino a quando non viene restituito qualcosa dal server; in caso contrario, lo script continuerà a funzionare senza contenere il resto dell'applicazione. Certo, questo va a scapito di non riuscire mai a ottenere una risposta, ma a seconda delle condizioni per cui stai costruendo, questo potrebbe andar bene.
  • comprimere è stato introdotto in WordPress 2.6 e consente di inviare il corpo della richiesta in un formato compresso. Questo sarà al di fuori dello scopo dei nostri articoli futuri.
  • decomprimere è simile a comprimere tranne che è dalla nostra parte - se vengono ricevuti dati compressi, questo ci permetterà di decomprimere il contenuto prima di fare qualsiasi ulteriore lavoro o elaborazione su di esso.
  • sslverify è stato introdotto in WordPress 2.8 ed è utile per scenari in cui è necessario verificare se una certificazione SSL è valida. Se non lo è, la richiesta viene respinta; altrimenti, sei a posto. Questa opzione sarà anche al di fuori dello scopo di questo insieme di articoli.

Ovviamente, ci sono molte cose che sono disponibili. Nei prossimi articoli, spero di esaminare alcuni di questi in modo più dettagliato, ma prima diamo un'occhiata a un esempio molto semplice e pratico dell'utilizzo della funzione API.


Diamo INVIARE una richiesta

A questo punto, le cose dovrebbero essere abbastanza chiare, giusto? utilizzando wp_remote_post dovrebbe essere altrettanto facile da usare wp_remote_get quindi partendo dal prossimo articolo, faremo proprio questo.

Fino ad allora, assicurati di aver rivisto tutti gli articoli che hanno portato a questo punto e lascia commenti e / o domande a questo particolare post nei commenti.

Il prossimo, ci metteremo al lavoro!