Jak opublikować dane JSON za pomocą PHP Curl
- 4880
- 677
- Pan Jeremiasz Więcek
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ć:
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.
- « Jak przekierować swoją witrynę do HTTPS za balansem AWS
- Jak zainstalować Apache/PHP-FPM na Ubuntu 16.04 LTS »