So veröffentlichen Sie JSON -Daten mit PHP Curl
- 2482
- 555
- Tamina Liebach
Bei der Arbeit mit APIs ist es üblich, Daten im JSON -Format zu senden und zu empfangen. In PHP können Sie die Curl -Bibliothek verwenden, um HTTP -Anfragen zu senden, einschließlich des Sendens von JSON -Daten in einer Postanforderung. In diesem Artikel zeigen wir Ihnen, wie Sie JSON-Daten mit PHP Curl in einer Schritt-für-Schritt-Anleitung veröffentlichen.
Schritt 1: Legen Sie die URL- und JSON -Daten ein
Der erste Schritt besteht darin, die URL festzulegen, die Sie an die Anfrage an und die JSON -Daten senden möchten, die Sie in die Anforderungsbehörde senden möchten. In diesem Beispiel verwenden wir ein Beispiel -JSON -Daten:
$ data = array ('name' => 'John Doe', 'E -Mail' => '[email protected] ',' Telefon '=>' 1234567890 '); $ json = json_encode ($ data);1234567 | $ data = array ('name' => 'John doe', 'E -Mail' => '[E -Mail geschützt]', 'Telefon' => '1234567890'); $ json = json_encode ($ data); |
In diesem Beispiel haben wir eine Reihe von Daten erstellt und sie in a codiert JSON Zeichenfolge mit dem json_encode ()
Funktion.
Schritt 2: Stellen Sie die Lockenoptionen ein
Der nächste Schritt besteht darin, die Curl -Optionen für die Anforderung zu setzen, einschließlich der URL, der Anforderungsmethode und der Anforderungsbehörde. Hier ist ein Beispiel dafür, wie die Curl -Optionen festgelegt werden:
$ url = 'https: // Beispiel.com/api/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customrequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httpeder, array ('content-type: application/json', 'content-Length:' . Strlen ($ json)));12345678910 | $ url = 'https: // Beispiel.com/api/create '; $ ch = curl_init ($ url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_POSTFIELDS, $json);curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json ', 'Inhaltslänge: ' . Strlen ($ json))); |
In diesem Beispiel haben wir die folgenden Optionen festgelegt:
- Curlopt_returntransfer: Setzen Sie auf True, um die Antwort als Zeichenfolge zurückzugeben, anstatt sie direkt auf den Bildschirm auszugeben.
- Curlopt_CustomRequest: Legen Sie auf "Post" fest, um anzugeben, dass wir eine Postanforderung senden.
- Curlopt_Postfields: Legen Sie die JSON -Daten ein.
- Curlopt_httpheader: Setzen Sie sich auf eine Reihe von Heazern, einschließlich des Header vom Typ Inhalt, um anzugeben, dass wir JSON-Daten senden, und der Header inhaltslang, um die Länge der JSON-Daten anzugeben.
Schritt 3: Senden Sie die Anfrage und behandeln Sie die Antwort
Der letzte Schritt besteht darin, die Anfrage mit dem zu senden curl_exec ()
Funktion und verarbeiten Sie die Antwort. Hier ist ein Beispiel dafür:
1234567 | $ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch); |
In diesem Beispiel haben wir die verwendet curl_exec ()
Funktion zum Senden der Anfrage und zum Speichern der Antwort in der $ Antwortvariablen. Wir haben auch nach Fehlern überprüft curl_errno ()
Funktion und zeigte die Fehlermeldung an, wenn ein Fehler vorliegt. Schließlich haben wir den Curl -Griff mit dem geschlossen curl_close ()
Funktion.
Schritt 4: Vollständiges PHP -Skript
Nachdem Sie den obigen Code kombiniert haben, erhalten Sie ein vollständig funktionelles PHP -Skript, das JSON -Daten an Remote -APIs veröffentlichen kann.
'John Doe', 'E -Mail' => '[email protected] ',' Telefon '=>' 1234567890 '); $ json = json_encode ($ data); $ url = 'https: // Beispiel.com/api/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customrequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httpeder, array ('content-type: application/json', 'content-Length:' . Strlen ($ json))); $ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch); ?>1234567891011121314151617181920212223242526272829 | 'John Doe', 'E -Mail' => '[E -Mail geschützt]', 'Telefon' => '1234567890'); $ json = json_encode ($ data); $ url = 'https: // Beispiel.com/api/create '; $ ch = curl_init ($ url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_POSTFIELDS, $json);curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json ', 'Inhaltslänge: ' . Strlen ($ json))); $ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch); ?> |
Speichern Sie den Dateiinhalt und führen Sie diese über die PHP -Befehlszeilenschnittstelle aus.
Abschluss
In diesem Artikel haben wir Ihnen gezeigt, wie Sie JSON-Daten mit PHP Curl in einer Schritt-für-Schritt-Anleitung veröffentlichen können. Wenn Sie die URL- und JSON -Daten festlegen, die Curl -Optionen festlegen und die Anforderung senden und die Antwort bearbeiten, können Sie JSON -Daten problemlos in einer Postanforderung mit PHP Curl senden.
- « So leiten Sie Ihre Website in HTTPS hinter einem AWS -Ladungsbalancer um
- So installieren Sie Apache/PHP-FPM auf Ubuntu 16.04 LTS »