Jak opublikować dane JSON za pomocą PHP Curl

Jak opublikować dane JSON za pomocą PHP Curl

Podczas pracy z interfejsami API często wysyłać i odbierać dane w formacie JSON. W PHP możesz użyć biblioteki curl do wysyłania żądań HTTP, w tym wysyłania danych JSON na żądanie POST. W tym artykule pokażemy, jak publikować dane JSON za pomocą PHP Curl w przewodniku krok po kroku.

Krok 1: Ustaw dane URL i JSON

Pierwszym krokiem jest ustawienie adresu URL, do którego chcesz wysłać żądanie, i dane JSON, które chcesz wysłać w ciele żądania. W tym przykładzie użyjemy przykładowych danych JSON:

$ data = array ('name' => 'John Doe', 'e -mail' => 'John.DOE@Przykład.com ', „Phone” =>' 1234567890 '); $ json = json_encode ($ data);
1234567$ data = array ('name' => 'John Doe', 'e -mail' => '[e -mail chroniony]', 'phone' => '1234567890'); $ json = json_encode ($ data);

W tym przykładzie utworzyliśmy szereg danych i zakodowaliśmy je w JSON ciąg za pomocą json_encode () funkcjonować.

Krok 2: Ustaw opcje zwijania

Kolejnym krokiem jest ustawienie opcji Curl dla żądania, w tym adresu URL, metody żądania i ciała żądania. Oto przykład ustawienia opcji Curl:

$ url = 'https: // przykład.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, tablica ('content-typ: aplikacja/json', 'content długość:' . Strlen ($ json)));
12345678910$ url = 'https: // przykład.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: aplikacja/JSON ', „Długość treści:” . Strlen ($ json)));

W tym przykładzie ustaliliśmy następujące opcje:

  • Curlopt_returntransfer: Ustawione na TRUE, aby zwrócić odpowiedź jako ciąg zamiast wyświetlać ją bezpośrednio na ekran.
  • Curlopt_customrequest: Ustaw na „Post”, aby określić, że wysyłamy żądanie pocztów.
  • Curlopt_postfields: Ustaw na dane JSON, które chcemy wysłać w ciele żądania.
  • Curlopt_httpheader: Ustaw na szereg nagłówków, w tym nagłówek typu treści, aby określić, że wysyłamy dane JSON, oraz nagłówek długości treści, aby określić długość danych JSON.

Krok 3: Wyślij żądanie i obsługa odpowiedź

Ostatnim krokiem jest wysłanie żądania za pomocą curl_exec () funkcjonuj i obsługuj odpowiedź. Oto przykład tego, jak to zrobić:

$ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch);
1234567$ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch);

W tym przykładzie użyliśmy curl_exec () funkcja wysyłania żądania i przechowywania odpowiedzi w zmiennej $ odpowiedzi. Sprawdziliśmy również wszelkie błędy za pomocą curl_errno () funkcja i wyświetlałem komunikat o błędzie, jeśli wystąpił błąd. Na koniec zamknęliśmy uchwyt Curl za pomocą curl_close () funkcjonować.

Krok 4: Kompletny skrypt PHP

Po połączeniu powyższego kodu otrzymasz pełny funkcjonalny skrypt PHP, który może wysyłać dane JSON na zdalne interfejsy API.

„John Doe”, „e -mail” => 'John.DOE@Przykład.com ', „Phone” =>' 1234567890 '); $ json = json_encode ($ data); $ url = 'https: // przykład.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, tablica ('content-typ: aplikacja/json', 'content długość:' . 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 chroniony]', „Phone” => '1234567890'); $ json = json_encode ($ data); $ url = 'https: // przykład.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: aplikacja/JSON ', „Długość treści:” . Strlen ($ json))); $ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch); ?>

Zapisz zawartość pliku i uruchom ją za pomocą interfejsu wiersza poleceń PHP.

Wniosek

W tym artykule pokazaliśmy, jak zamieszczać dane JSON za pomocą PHP Curl w przewodniku krok po kroku. Ustawiając dane URL i JSON, ustawiając opcje Curl i wysyłając żądanie i obsługując odpowiedź, możesz łatwo wysyłać dane JSON w żądaniu pocztowym za pomocą PHP Curl.