Cara menggunakan php parse http headers

2. Buat file php dengan nama content-type-header.php simpan dalam folder php-request-header, isinya sebagai berikut :









3. Selanjutnya Buka postman, setting sebagai berikut :


      1. Pilih method GET

      2. isi url dengan //localhost/php-request-header/content-type-header.php

      3. Tab Header isi key = Content-Type , Value = application/json

      4. Klik Send


Maka Hasilnya seperti gambar dibawah ini :





Catatan : 





       Value = application/json --> untuk JSON


       Value = application/json --> untuk XML





B. Implement Basic Authentication to the endpoint that change data in database.


1. Buat file dengan nama basic-auth-header.php,simpan di folder php-request-header yang sudah dibuat tadi, isi nya sebagai berikut :

$headers = "HTTP/1.1 302 Found
Server: nginx
Date: Sat, 27 Apr 2013 08:07:57 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 976
Connection: keep-alive
X-Frame-Options: sameorigin
X-Runtime: 443
Status: 302
Cache-Control: max-age=86400
Expires: Sun, 28 Apr 2013 08:07:56 GMT
Vary: Accept-Encoding,User-Agent
Strict-Transport-Security: max-age=3600 ; includeSubDomains";

if (!function_exists('http_parse_headers')) {
    function http_parse_headers ($raw_headers) {
        $headers = [];

        foreach (explode("\n", $raw_headers) as $i => $h) {
            $h = explode(':', $h, 2);

            if (isset($h[1])) {
                $headers[$h[0]] = trim($h[1]);
            }
        }

        return $headers;
    }
}

var_dump(http_parse_headers($headers));
?>

array(12) {
  ["Server"]=>
  string(5) "nginx"
  ["Date"]=>
  string(29) "Sat, 27 Apr 2013 08:07:57 GMT"
  ["Content-Type"]=>
  string(24) "text/html; charset=utf-8"
  ["Content-Length"]=>
  string(3) "976"
  ["Connection"]=>
  string(10) "keep-alive"
  ["X-Frame-Options"]=>
  string(10) "sameorigin"
  ["X-Runtime"]=>
  string(3) "443"
  ["Status"]=>
  string(3) "302"
  ["Cache-Control"]=>
  string(13) "max-age=86400"
  ["Expires"]=>
  string(29) "Sun, 28 Apr 2013 08:07:56 GMT"
  ["Vary"]=>
  string(26) "Accept-Encoding,User-Agent"
  ["Strict-Transport-Security"]=>
  string(32) "max-age=3600 ; includeSubDomains"
}

Agar dapat berkomunikasi dengan aplikasi yang lain, aplikasi kita harus mampu melakukan HTTP Request.

Misalnya:

Saat ada input barang terbaru, maka langsung di posting otomatis ke Twitter.

User (Input Barang) --> Aplikasi --> API Twitter

Hal ini harus dilakukan melalui HTTP Request, karena sebagian besar web service atau API menggunakan protokol HTTP.

Salah satu library yang kita bisa gunakan untuk melakukan HTTP Request di PHP adalah CURL.

Apa itu Curl?

Curl adalah sebuah program dan library untuk mengirim dan mengambil data melalui URL.

Curl adalah sebuah program:

Aritnya curl adalah sebuah program atau tools yang digunakan pada command line (CMD).

curl //www.petanikode.com

Curl adalah sebuah libarary:

Artinya sekumpulan fungsi-fungsi curl yang dibungkus dalam paket curl //www.petanikode.com9 dan bisa digunakan dalam berbagai macam bahasa pemrograman.

Contoh Penerapan Curl

Curl untuk membuat Bot, msialnya Bot Telegram untuk mengetahui cuaca…

Agar server bot bisa mengambil data dari server lain, maka dia harus mampu membuat Http Request, di sinilah Curl digunakan.

Tidak hanya untuk itu saja penerapan Curl…

Bisa juga diterapkan untuk:

  • Mengambil halaman web lalu mengubahnya jadi PDF;
  • Upload dan Download File;
  • Melakukan Login;
  • Scrape;
  • dan sebagainya.

Sejarah Singkat Curl

Curl awalnya bernama HttpGet dari versi pertama sampai ke-3.

HttpGet awalnya hanya mendukung protokol Http saja…

…lalu semakin berkembang dan banyak protokol yang ditambahkan.

Akhirnya pada rilis versi yang ke-4, nama HttpGet tidak lagi digunakan.

Sekarang namanya adalah Curl (mulai ditetapkan pada 20 Maret 1998).

Diberikan nama Curl, karena digunakan untuk download/upload data melalui URL.

Huruf “c” artinya “See” (melihat), jadi kalau cURL di-eja menjadi “See URL”. Selain itu, huruf “c” juga mengacu kepada client.

Instalasi dan Konfigurasi Curl

Seperti yang kita ketahui, ada dua bentuk curl: program dan library.

Jika ingin menginstal programnya, maka gunakan perintah:

apt install curl

Tapi jika ingin menginstal library untuk PHP, maka gunakan perintah:

apt install php-curl

Pada Linux, curl akan otomatis diaktifkan.

Kita bisa mengeceknya dengan kode ini:

<?php phpinfo(); ?>

Silahkan taruh di apt install curl0 atau apt install curl1 dan cobalah buka melalui localhost.

Jika muncul seperti ini, berarti curl sudah aktif dan bisa digunakan.

Sedangkan untuk Windows (XAMPP), library curl sudah terinstal…

…tinggal kita aktifkan saja.

Caranya:

Silahkan buka file-file ini dengan teks editor.

C:\Program Files\xampp\apache\bin\php.ini C:\Program Files\xampp\php\php.ini C:\Program Files\xampp\php\php5\php.ini

Kemudian cari baris yang ini:

;extension=php_curl.dll

Silahkan dihapus titik-komanya (apt install curl2).

extension=php_curl.dll

Simpan…

Setelah itu, restart server apache…maka sekarang Curl sudah aktif.

Cara Menggunakan Curl pada PHP

Ada 4 langkah penggunaan Curl di PHP:

  1. Inisialisasi;
  2. Set Option;
  3. Eksekusi Curl;
  4. Tutup Curl;

Setiap kita ingin menggunakan fungsi Curl, kita haru melakukan inisialisasi terlebih dahulu dengan cara seperti ini:

<?php // create curl resource $ch = curl_init();

Fungsi yang digunakan untuk melakukan inisialisasi adalah apt install curl3.

Setelah itu, kita harus memberikan nilai options seperti alamat URL yang akan dituju, format hasilnya, header, dll.

Untuk memberikan options, kita menggunakan fungsi apt install curl4 seperti ini:

// set url curl_setopt($ch, CURLOPT_URL, "example.com"); //return the transfer as a string curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

Berikutnya melakukan eksekusi:

curl //www.petanikode.com0

Pada tahapan eksekusi, Curl akan melakukan HTTP Request sesuai dengan options yang diberikan.

Fungsi yang digunakan untuk mengeksekusi Curl adalah apt install curl5.

Karena kita sudah memberikan options hasil Curl akan berupa string, maka variabel apt install curl6 akan berisi sebuah string.

Kita bisa melihat isinya dengan apt install curl7.

curl //www.petanikode.com1

Terakhir menutup Curl dengan fungsi apt install curl8, karena sudah tidak digunakan lagi.

curl //www.petanikode.com2

Kode lengkapnya akan seperti ini:

curl //www.petanikode.com3

Saat kita eksekusi skrip PHP di atas, maka akan menghasilkan seperti ini:

Halaman di atas didapat dari example.com.

Coba ubah URL-nya menjadi //www.google.co.id/.

curl //www.petanikode.com4

Hasilnya:

Mmbungkus Curl dalam Fungsi

Baru kode di atas bisa kita buat dalam bentuk fungsi agar tidak diketik ulang terus menerus.

Fungsinya akan menjadi seperti ini:

curl //www.petanikode.com5

Lalu kita tinggal gunakan seperti ini:

curl //www.petanikode.com6

Mengambil Data JSON dengan Curl

Biasanya webservice menyediakan data berupa JSON. Data JSON ini bisa kita ambil dengan CURL, lalu melakukan parse dengan fungsi apt install curl9.

Contoh:

Kita akan mengambil data JSON dari Github: //api.github.com/users/petanikode

curl //www.petanikode.com7

Perhatikan options yang kita berikan pada contoh di atas…

Kita memberikan option user agent, karena untuk mengakses API Github, kita harus menyertakan user agent.

Hasilnya akan seperti ini:

Mengubah Data JSON ke HTML

Kita dapat melakukan apapun terhadap data yang kita dapatkan. Bisa disimpan ke database atau ditampilkan ke dalam HTML.

Postingan terbaru

LIHAT SEMUA