Ada 4 langkah penggunaan Curl di PHP:
- Inisialisasi;
- Set Option;
- Eksekusi Curl;
- 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 curl_init().
Setelah itu, kita harus memberikan nilai options seperti alamat URL yang akan dituju, format hasilnya, header, dll.
Untuk memberikan options, kita menggunakan fungsi curl_setopt() seperti ini:
// set url
curl_setopt($ch, CURLOPT_URL, "example.com");
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
Berikutnya melakukan eksekusi:
Pada tahapan eksekusi, Curl akan melakukan HTTP Request sesuai dengan options yang diberikan.// $output contains the output string
$output = curl_exec($ch);
Fungsi yang digunakan untuk mengeksekusi Curl adalah curl_exec().
Karena kita sudah memberikan options hasil Curl akan berupa string, maka variabel $output akan berisi sebuah string.
Kita bisa melihat isinya dengan echo.Terakhir menutup Curl dengan fungsi curl_close(), karena sudah tidak digunakan lagi.
ose curl resource to free up system resources
curl_close($ch);
Kode lengkapnya akan seperti ini:
<?php
// persiapkan curl
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "riventusa.blogspot.com");
// return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
if(curl_exec($ch) === false) {
echo 'Curl error: ' . curl_error($ch);
} else {
echo 'Operation completed without any errors';
}
// $output contains the output string
$output = curl_exec($ch);
// tutup curl
curl_close($ch);
// menampilkan hasil curl
echo $output;
?>
Coba ubah URL-nya dari riventusa.blogspot.com menjadi https://www.google.co.id/.
jika ada error ceertificate
thanks.
jika ada error ceertificate
This works well for me:
- Download the certificate from: https://curl.haxx.se/ca/cacert.pem
- Rename the cacert.pem file into curl-ca-bundle.crt
- Copy the file into C:\xampp\apache\bin
- Restart apache
CONTOH LAIN
<?php
function http_request($url){
// persiapkan curl
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, $url);
// set user agent
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
// return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if(curl_exec($ch) === false) {
echo 'Curl error: ' . curl_error($ch);
} else {
echo 'Operation completed without any errors';
}
// $output contains the output string
$output = curl_exec($ch);
// tutup curl
curl_close($ch);
// mengembalikan hasil curl
return $output;
}
$profile = http_request("https://reqres.in/api/users");
// ubah string JSON menjadi array
$profile = json_decode($profile, TRUE);
?>
<!DOCTYPE html>
<html>
<head>
<title>Curl Data JSON</title>
</head>
<body>
<!--<img src="qeqwq" width="64" />-->
<br>
<p>
<?php
//echo "<pre>";
//print_r($profile);
//echo "</pre>";
foreach($profile["data"] as $profile1 => $value) {
//die(var_dump($value));
echo "ID: ".$value["id"]."<br/>";
echo "Nama:".$value["first_name"]."<br>";
echo "Email: ".$value["email"]."<br>";
echo "Last Name: ".$value["last_name"];
}
?>
</p>
</body>
</html>
CONTOH LAIN KEDUA
<?php
$ch = curl_init();
$data=array(
'username'=>'admin',
'pass'=>'password',
);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, "https://contoh.com/login.php");
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie-name.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie-name.txt');
$hasil=curl_exec($ch);
curl_close ($ch);
echo $hasil;
?>
0 comments:
Post a Comment