cURL
Library yang menyediakan aktifitas untuk bekerja dengan curl.
instalasi
Jalankan perintah di bawah di folder aplikasi:
mim app install lib-curl
penggunaan
use LibCurl\Library\Curl;
$opts = [
// target url, optional get query parameter
'url' => '/target curl url/',
// request method
// GET,PUT,DELETE
'method' => 'POST',
// tambahan headers
'headers' => [
'Accept' => 'application/json'
],
// POST/PUT body custom
'content' => [
'key' => [
'headers' => [
'Content-Type' => 'application/json; charset=UTF-8'
],
'content' => json_encode(['name' => $file->path])
],
'file' => new \CURLFile($file->path, $file->type, $file->name)
],
// POST/PUT body
'body' => [
'key' => 'value',
'file' => new \CURLFile($file->path, $file->type, $file->name)
],
// tambahan request query string
'query' => [
'key' => 'value'
],
// custom referer
'referer' => 'https://wwww.google.com/',
// custom user agent
'agent' => 'Mim 0.0.1',
// custom timeout. default 10 detik
'timeout' => 5,
// download hasil curl ke file
'download' => '/tmp/file',
// Basic auth
'user' => [
'name' => '',
'password' => ''
]
];
$result = Curl::fetch($opts);
method
fetch(array $opts): mixed
Nilai dari parameter $opts
adalah:
url
. Absolute URL target CURLmethod
. Request method, nilai yang dikenal sampai saat ini adalahPOST
,PUT
,GET
, danDELETE
.headers
. Array key-value pair header yang akan ditambahkan ke request curl.content
. Array key-value pair content body yang akan menggunakan custom renderer body.body
. Konten yang dikirim bersamaan dengan request curl. Nilai ini bisa array key-value pair, atau string, atau binary.query
. Query string yang akan ditambahkan ke request url.referer
Custom headerReferer:
.agent
Custom headerUser-Agent:
.timeout
Set maksimal eksekusi curl. Default 10 detik.download
Download hasil curl ke suatu file. Menambahkan property ini akan mengembalikan nilaibool
.
Sebagai catanan bahwa nilai body
dan content
tidak bisa di set secara bersamaan.
Gunakan hanya salah satu. Jika property content
di set, dan nilai header Content-Type
adalah salah satu dari multipart/related
atau multipart/form-data
, maka nilai boundary
akan ditambahkan secara otomatis dibagian akhir header. Tapi jika tidak diset, atau nilai header
Content-Type
bukan salah satu dari yang disebutkan diatas, maka nilai dari header teresebut
akan ditindih dan digantikan dengan dengan multipart/form-data
.
get(string $url, array $headers): mixed
post(string $url, $body, array $headers): mixed
put(string $url, $body, array $headers): mixed
download(string $url, string $file, array $headers): bool
lastError(): string
Mengambil error dari request curl yang terakhir. Fungsi ini mungkin mengembalikan nilai empty string.
lastResult(bool $parse): mixed
Fungsi untuk mengambil hasil request terakhir, parameter $parse
menentukan apakan nilai yang dikembalikan harus di format terlebih
dahulu sesuai dengan content-type atau tidak, jika nilai $parse
adalah false
, maka fungsi ini akan mengembalikan nilai string
apa adanya sesuai dengan response curl.