cURL adalah pustaka yang memungkinkan Anda membuat permintaan HTTP dalam PHP. Semua yang perlu Anda ketahui tentang hal ini (dan sebagian besar ekstensi lainnya) dapat ditemukan di manual PHP .
Untuk menggunakan fungsi PHP CURL Anda harus menginstal paket »libcurl. PHP mengharuskan Anda menggunakan libcurl 7.0.2-beta atau lebih tinggi. Di PHP 4.2.3, Anda akan memerlukan libcurl versi 7.9.0 atau lebih tinggi. Dari PHP 4.3.0, Anda membutuhkan versi libcurl yang 7.9.8 atau lebih tinggi. PHP 5.0.0 membutuhkan libcurl versi 7.10.5 atau lebih tinggi.
Anda dapat membuat permintaan HTTP tanpa cURL, meskipun allow_url_fopenharus diaktifkan di php.inifile Anda .
// Make a HTTP GET request and print it (requires allow_url_fopen to be enabled)print file_get_contents('http://www.example.com/');
@Johannes, Apakah permintaan kiriman HTTP dimungkinkan tanpa cURL?
Pacerier
2
itu berarti, jika di server 'allow_url_fopen' tidak diaktifkan maka kita tidak dapat menggunakan fungsi file_get_contents (), tetapi dalam hal ini kita dapat menggunakan fungsi curl untuk tujuan yang sama? Apakah saya benar?
ARUN
3
@Arun Ya jika 'allow_url_fopen' tidak diaktifkan, Anda dapat menggunakan curl untuk tugas yang sama alih-alih file_get_contents () func. Curl memungkinkan Anda untuk mengatur lebih banyak opsi seperti data POST, cookie dll yang file_get_contents () tidak menyediakan.
Dinesh Nagar
157
cURL adalah cara Anda dapat menekan URL dari kode Anda untuk mendapatkan respons html darinya. cURL berarti URL klien yang memungkinkan Anda terhubung dengan URL lain dan menggunakan tanggapan mereka dalam kode Anda.
dalam Javascript sama seperti yang Anda lakukan ajax dalam kode Anda. Hal-hal berbeda dengan PHP yang Anda lakukan secara sinkron sementara di Javascript Anda lakukan secara tidak sinkron.
Faris Rayhan
68
CURL dalam PHP:
Ringkasan:
The curl_execperintah dalam PHP adalah jembatan untuk menggunakan curldari konsol. curl_exec membuatnya mudah melakukan permintaan GET / POST dengan cepat dan mudah, menerima respons dari server lain seperti JSON dan mengunduh file.
Peringatan, Bahaya:
curljahat dan berbahaya jika digunakan secara tidak benar karena ini adalah tentang mendapatkan data dari luar sana di internet. Seseorang bisa mendapatkan antara ikal Anda dan server lain dan menyuntikkan rm -rf /respons Anda, lalu mengapa saya turun ke konsol dan ls -lbahkan tidak berfungsi lagi? Karena Anda salah menilai kekuatan curl yang berbahaya. Jangan percaya apa pun yang kembali dari curl menjadi aman, bahkan jika Anda berbicara dengan server Anda sendiri. Anda bisa menarik kembali malware untuk meringankan orang bodoh dari kekayaan mereka.
Variabel sekarang berisi biner yang merupakan gif animasi kucing, kemungkinan tidak terbatas.
Lakukan ikal dari dalam file PHP:
Masukkan kode ini dalam file bernama myphp.php:
<?php
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://www.google.com');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);if(empty($buffer)){print"Nothing returned from url.<p>";}else{print $buffer;}?>
Kemudian jalankan melalui commandline:
php < myphp.php
Anda menjalankan myphp.php dan menjalankan perintah-perintah itu melalui penerjemah php dan membuang satu ton html dan javascript yang berantakan ke layar.
Berhati-hatilah saat membuang hasil ikal, jika ada yang ditafsirkan dan dieksekusi, kotak Anda dimiliki dan info kartu kredit Anda akan dijual kepada pihak ketiga dan Anda akan mendapatkan tagihan $ 900 misterius dari perusahaan lantai satu orang Alabama yang merupakan depan untuk cincin kejahatan penipuan kartu kredit luar negeri.
Bisakah Anda memberikan tautan yang mendukung 'bahaya' yang Anda sebutkan di sini?
floatingLomas
1
@floatingLomas Apa yang Eric coba jelaskan adalah masalah yang ada pada semua konten yang disediakan pengguna: Anda tidak bisa mempercayai siapa pun. Seperti halnya konten yang disediakan pengguna, dimungkinkan untuk mengeksploitasi CURL menggunakan MITM sederhana untuk menyuntikkan kode berbahaya ke dalam aplikasi Anda. Tentu saja ini hanya masalah jika "ditafsirkan dan dieksekusi" seperti yang dinyatakan Eric dengan benar. Hanya mencari eval itu jahat dan Anda akan menemukan banyak risiko keamanan yang mungkin (mis. Stackoverflow.com/questions/951373/when-is-eval-evil-in-php )
Fabio Poloni
7
@ floatingLomas ... juga, Eric tampaknya memiliki paranoia tentang perusahaan lantai satu Alabama yang menagihnya $ 900.
Fabio Poloni
Apakah ada alternatif selain iframe?
Jennifer Michelle
1
Ini bukan paranoia jika mereka benar-benar keluar untuk menjual lantai kepada Anda.
piersb
24
cURL adalah cara Anda dapat menekan URL dari kode Anda untuk mendapatkan respons HTML darinya. Ini digunakan untuk baris perintah cURL dari bahasa PHP.
Langkah 1: Inisialisasi sesi keriting menggunakan curl_init().
Langkah 2: Tetapkan opsi untuk CURLOPT_URL. Nilai ini adalah URL yang kami kirimi permintaan. Tambahkan istilah pencarian curlmenggunakan parameter q=. Tetapkan opsi untuk CURLOPT_RETURNTRANSFER. True akan memberi tahu curl untuk mengembalikan string alih-alih mencetaknya. Setel opsi untuk CURLOPT_HEADER, false akan memberi tahu curl untuk mengabaikan header di nilai balik.
Langkah 3: Jalankan sesi keriting menggunakan curl_exec().
Langkah 4: Tutup sesi keriting yang telah kita buat.
Pertama mari kita memahami konsep curl, libcurl dan PHP / cURL.
curl : Alat baris perintah untuk mendapatkan atau mengirim file menggunakan sintaks URL.
libcurl : perpustakaan yang dibuat oleh Daniel Stenberg, yang memungkinkan Anda untuk terhubung dan berkomunikasi ke berbagai jenis server dengan berbagai jenis protokol. libcurl saat ini mendukung protokol http, https, ftp, gopher, telnet, dict, file, dan ldap. libcurl juga mendukung sertifikat HTTPS, HTTP POST, HTTP PUT, unggah FTP (ini juga dapat dilakukan dengan ekstensi ftp PHP), unggahan berbasis formulir HTTP, proksi, cookie, dan otentikasi pengguna + kata sandi.
PHP / cURL : Modul untuk PHP yang memungkinkan program PHP untuk menggunakan libcurl.
Bagaimana cara menggunakannya:
langkah1 : Inisialisasi sesi curl gunakan curl_init ().
Langkah 2 : Tetapkan opsi untuk CURLOPT_URL. Nilai ini adalah URL yang kami kirimi permintaan. Tambahkan istilah pencarian "curl" menggunakan parameter "q =". Tetapkan opsi CURLOPT_RETURNTRANSFER, true akan memberi tahu curl untuk mengembalikan string alih-alih mencetaknya. Setel opsi untuk CURLOPT_HEADER, false akan memberi tahu curl untuk mengabaikan header di nilai yang dikembalikan.
langkah3 : Jalankan sesi curl menggunakan curl_exec ().
step4 : Tutup sesi keriting yang telah kita buat.
step5 : string kembali.
Buat DEMO :
Anda harus membuat dua file PHP dan menempatkannya ke dalam folder tempat server web Anda dapat menyajikan file PHP. Dalam kasus saya, saya memasukkannya ke / var / www / untuk kesederhanaan.
1. helloservice.php dan 2. demo.php
helloservice.php sangat sederhana dan pada dasarnya hanya mengembalikan data yang didapatnya:
<?php
// Here is the data we will be sending to the service
$some_data = array('message'=>'Hello World','name'=>'Anand');
$curl = curl_init();// You can also set the URL you want to communicate with by doing this:// $curl = curl_init('http://localhost/echoservice');// We POST the data
curl_setopt($curl, CURLOPT_POST,1);// Set the url path we want to call
curl_setopt($curl, CURLOPT_URL,'http://localhost/demo.php');// Make it so the data coming back is put into a string
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);// Insert the data
curl_setopt($curl, CURLOPT_POSTFIELDS, $some_data);// You can also bunch the above commands into an array if you choose using: curl_setopt_array// Send the request
$result = curl_exec($curl);// Get some cURL session information back
$info = curl_getinfo($curl);
echo 'content type: '. $info['content_type'].'<br />';
echo 'http code: '. $info['http_code'].'<br />';// Free up the resources $curl is using
curl_close($curl);
echo $result;?>
cURL adalah cara Anda dapat menekan URL dari kode Anda untuk mendapatkan respons HTML darinya.
Ini digunakan untuk baris perintah cURL dari bahasa PHP.
cURL adalah pustaka yang memungkinkan Anda membuat permintaan HTTP dalam PHP.
PHP mendukung libcurl, perpustakaan yang dibuat oleh Daniel Stenberg, yang memungkinkan Anda untuk terhubung dan berkomunikasi ke berbagai jenis server dengan berbagai jenis protokol. libcurl saat ini mendukung protokol http, https, ftp, gopher, telnet, dict, file, dan ldap. libcurl juga mendukung sertifikat HTTPS, HTTP POST, HTTP PUT, unggah FTP (ini juga dapat dilakukan dengan ekstensi ftp PHP), unggahan berbasis formulir HTTP, proksi, cookie, dan otentikasi pengguna + kata sandi.
Setelah mengkompilasi PHP dengan dukungan cURL, Anda dapat mulai menggunakan fungsi-fungsi cURL. Ide dasar di balik fungsi cURL adalah Anda menginisialisasi sesi cURL menggunakan curl_init (), maka Anda dapat mengatur semua opsi untuk transfer melalui curl_setopt (), kemudian Anda dapat menjalankan sesi dengan curl_exec () dan kemudian Anda selesaikan sesi Anda menggunakan curl_close ().
Curl tidak lain adalah perpanjangan dari PHP yang mewarisi perilaku perintah & pustaka ikal normal yang ditulis terutama untuk Linux / alat baris perintah Unix
Apa itu Curl?
CURL adalah singkatan untuk URL Klien. CURL digunakan untuk mengirim data ke URL apa pun. Untuk detail lebih lanjut tentang apa sebenarnya ikal itu, Anda dapat mengunjungi Situs CURL
cURL dalam PHP Sekarang konsep yang sama diperkenalkan dalam PHP, untuk mengirim data ke URL yang dapat diakses melalui protokol yang berbeda, misalnya, HTTP atau FTP. Untuk lebih detail, Anda bisa merujuk ke Tutorial PHP Curl
Jawaban:
cURL adalah pustaka yang memungkinkan Anda membuat permintaan HTTP dalam PHP. Semua yang perlu Anda ketahui tentang hal ini (dan sebagian besar ekstensi lainnya) dapat ditemukan di manual PHP .
Anda dapat membuat permintaan HTTP tanpa cURL, meskipun
allow_url_fopen
harus diaktifkan diphp.ini
file Anda .sumber
cURL adalah cara Anda dapat menekan URL dari kode Anda untuk mendapatkan respons html darinya. cURL berarti URL klien yang memungkinkan Anda terhubung dengan URL lain dan menggunakan tanggapan mereka dalam kode Anda.
sumber
CURL dalam PHP:
Ringkasan:
The
curl_exec
perintah dalam PHP adalah jembatan untuk menggunakancurl
dari konsol. curl_exec membuatnya mudah melakukan permintaan GET / POST dengan cepat dan mudah, menerima respons dari server lain seperti JSON dan mengunduh file.Peringatan, Bahaya:
curl
jahat dan berbahaya jika digunakan secara tidak benar karena ini adalah tentang mendapatkan data dari luar sana di internet. Seseorang bisa mendapatkan antara ikal Anda dan server lain dan menyuntikkanrm -rf /
respons Anda, lalu mengapa saya turun ke konsol danls -l
bahkan tidak berfungsi lagi? Karena Anda salah menilai kekuatan curl yang berbahaya. Jangan percaya apa pun yang kembali dari curl menjadi aman, bahkan jika Anda berbicara dengan server Anda sendiri. Anda bisa menarik kembali malware untuk meringankan orang bodoh dari kekayaan mereka.Contoh:
Ini dilakukan di Ubuntu 12.10
Keriting dasar dari baris perintah:
Kemudian Anda bisa membuka gif Anda di firefox:
Kucing yang mulia berevolusi Toxoplasma gondii untuk menyebabkan wanita memelihara kucing dan pria juga memelihara wanita.
contoh CURL dapatkan permintaan untuk menekan google.com, gema ke baris perintah:
Ini dilakukan melalui terminal phpsh:
Yang mencetak dan membuang kekacauan html dan javascript kental (dari google) ke konsol.
Contoh CURL menempatkan teks respons ke dalam variabel:
Ini dilakukan melalui terminal phpsh:
Variabel sekarang berisi biner yang merupakan gif animasi kucing, kemungkinan tidak terbatas.
Lakukan ikal dari dalam file PHP:
Masukkan kode ini dalam file bernama myphp.php:
Kemudian jalankan melalui commandline:
Anda menjalankan myphp.php dan menjalankan perintah-perintah itu melalui penerjemah php dan membuang satu ton html dan javascript yang berantakan ke layar.
Anda dapat melakukan
GET
danPOST
meminta dengan curl, yang Anda lakukan hanyalah menentukan parameter seperti yang didefinisikan di sini: Menggunakan curl untuk mengotomatiskan pekerjaan HTTPPengingat bahaya:
Berhati-hatilah saat membuang hasil ikal, jika ada yang ditafsirkan dan dieksekusi, kotak Anda dimiliki dan info kartu kredit Anda akan dijual kepada pihak ketiga dan Anda akan mendapatkan tagihan $ 900 misterius dari perusahaan lantai satu orang Alabama yang merupakan depan untuk cincin kejahatan penipuan kartu kredit luar negeri.
sumber
cURL adalah cara Anda dapat menekan URL dari kode Anda untuk mendapatkan respons HTML darinya. Ini digunakan untuk baris perintah cURL dari bahasa PHP.
Langkah 1: Inisialisasi sesi keriting menggunakan
curl_init()
.Langkah 2: Tetapkan opsi untuk
CURLOPT_URL
. Nilai ini adalah URL yang kami kirimi permintaan. Tambahkan istilah pencariancurl
menggunakan parameterq=
. Tetapkan opsi untukCURLOPT_RETURNTRANSFER
. True akan memberi tahu curl untuk mengembalikan string alih-alih mencetaknya. Setel opsi untukCURLOPT_HEADER
, false akan memberi tahu curl untuk mengabaikan header di nilai balik.Langkah 3: Jalankan sesi keriting menggunakan
curl_exec()
.Langkah 4: Tutup sesi keriting yang telah kita buat.
Langkah 5: Keluarkan string kembali.
Ini juga digunakan untuk otentikasi. Kami juga dapat mengatur nama pengguna dan kata sandi untuk otentikasi.
Untuk fungsionalitas lainnya, lihat panduan pengguna atau tutorial berikut:
http://php.net/manual/en/ref.curl.php
http://www.startutorial.com/articles/view/php-curl
sumber
Pertama mari kita memahami konsep curl, libcurl dan PHP / cURL.
curl : Alat baris perintah untuk mendapatkan atau mengirim file menggunakan sintaks URL.
libcurl : perpustakaan yang dibuat oleh Daniel Stenberg, yang memungkinkan Anda untuk terhubung dan berkomunikasi ke berbagai jenis server dengan berbagai jenis protokol. libcurl saat ini mendukung protokol http, https, ftp, gopher, telnet, dict, file, dan ldap. libcurl juga mendukung sertifikat HTTPS, HTTP POST, HTTP PUT, unggah FTP (ini juga dapat dilakukan dengan ekstensi ftp PHP), unggahan berbasis formulir HTTP, proksi, cookie, dan otentikasi pengguna + kata sandi.
PHP / cURL : Modul untuk PHP yang memungkinkan program PHP untuk menggunakan libcurl.
Bagaimana cara menggunakannya:
langkah1 : Inisialisasi sesi curl gunakan curl_init ().
Langkah 2 : Tetapkan opsi untuk CURLOPT_URL. Nilai ini adalah URL yang kami kirimi permintaan. Tambahkan istilah pencarian "curl" menggunakan parameter "q =". Tetapkan opsi CURLOPT_RETURNTRANSFER, true akan memberi tahu curl untuk mengembalikan string alih-alih mencetaknya. Setel opsi untuk CURLOPT_HEADER, false akan memberi tahu curl untuk mengabaikan header di nilai yang dikembalikan.
langkah3 : Jalankan sesi curl menggunakan curl_exec ().
step4 : Tutup sesi keriting yang telah kita buat.
step5 : string kembali.
Buat DEMO :
Anda harus membuat dua file PHP dan menempatkannya ke dalam folder tempat server web Anda dapat menyajikan file PHP. Dalam kasus saya, saya memasukkannya ke / var / www / untuk kesederhanaan.
1. helloservice.php dan 2. demo.php
helloservice.php sangat sederhana dan pada dasarnya hanya mengembalikan data yang didapatnya:
2.demo.php , Anda dapat melihat hasilnya:
sumber
Ekstensi cURL ke PHP dirancang untuk memungkinkan Anda menggunakan berbagai sumber daya web dari dalam skrip PHP Anda.
sumber
cURL dalam PHP adalah jembatan untuk menggunakan command line cURL dari bahasa php
sumber
keriting
PHP mendukung libcurl, perpustakaan yang dibuat oleh Daniel Stenberg, yang memungkinkan Anda untuk terhubung dan berkomunikasi ke berbagai jenis server dengan berbagai jenis protokol. libcurl saat ini mendukung protokol http, https, ftp, gopher, telnet, dict, file, dan ldap. libcurl juga mendukung sertifikat HTTPS, HTTP POST, HTTP PUT, unggah FTP (ini juga dapat dilakukan dengan ekstensi ftp PHP), unggahan berbasis formulir HTTP, proksi, cookie, dan otentikasi pengguna + kata sandi.
Setelah mengkompilasi PHP dengan dukungan cURL, Anda dapat mulai menggunakan fungsi-fungsi cURL. Ide dasar di balik fungsi cURL adalah Anda menginisialisasi sesi cURL menggunakan curl_init (), maka Anda dapat mengatur semua opsi untuk transfer melalui curl_setopt (), kemudian Anda dapat menjalankan sesi dengan curl_exec () dan kemudian Anda selesaikan sesi Anda menggunakan curl_close ().
Kode sampel
Untuk informasi lebih lanjut, silakan periksa -
sumber
Curl tidak lain adalah perpanjangan dari PHP yang mewarisi perilaku perintah & pustaka ikal normal yang ditulis terutama untuk Linux / alat baris perintah Unix
Apa itu Curl? CURL adalah singkatan untuk URL Klien. CURL digunakan untuk mengirim data ke URL apa pun. Untuk detail lebih lanjut tentang apa sebenarnya ikal itu, Anda dapat mengunjungi Situs CURL
cURL dalam PHP Sekarang konsep yang sama diperkenalkan dalam PHP, untuk mengirim data ke URL yang dapat diakses melalui protokol yang berbeda, misalnya, HTTP atau FTP. Untuk lebih detail, Anda bisa merujuk ke Tutorial PHP Curl
sumber
Fungsi php curl (POST, GET, DELETE, PUT)
sumber
Kelas ikal Php (DAPATKAN, POS, UPLOAD FILES, SESI, KIRIM POST JSON, FORCE SELFSIGNED SSL / TLS):
Contoh:
File php: api.php
sumber