Last Updated on March 24, 2022 by
Meningkatnya jumlah aplikasi yang pindah ke web telah membuat “HTTP Scripting” lebih sering diminta dan diinginkan. Untuk dapat secara otomatis mengekstrak informasi dari web, untuk pengguna palsu, untuk mengirim atau mengunggah data ke server web adalah tugas penting hari ini.
PHP Curl adalah alat baris perintah untuk melakukan semua jenis manipulasi dan transfer URL, tetapi dokumen khusus ini akan fokus pada bagaimana menggunakannya saat melakukan permintaan HTTP untuk kesenangan dan keuntungan.
Saya akan berasumsi bahwa Anda tahu cara meminta curl –help atau curl –manual mendapatkan informasi dasar tentangnya.
Php Curl tidak ditulis untuk melakukan segalanya untuk Anda. Anda mungkin perlu merekatkan semuanya dengan menggunakan beberapa jenis bahasa skrip atau pemanggilan manual berulang.
Table of Contents
Protokol HTTP
HTTP adalah protokol yang digunakan untuk mengambil data dari server web. Ini adalah protokol yang sangat sederhana yang dibangun di atas TCP/IP.
Protokol juga memungkinkan informasi untuk dikirim ke server dari klien menggunakan beberapa metode berbeda, seperti yang akan ditampilkan di sini.
HTTP adalah baris teks ASCII biasa yang dikirim oleh klien ke server untuk meminta tindakan tertentu, dan kemudian server membalas beberapa baris teks sebelum konten yang diminta sebenarnya dikirim ke klien.
Klien, php curl, mengirimkan permintaan HTTP. Permintaan berisi metode (seperti GET, POST, HEAD, dll.), Sejumlah header permintaan, dan terkadang isi permintaan. Server HTTP merespons dengan baris status (menunjukkan apakah semuanya berjalan dengan baik), header respons dan paling sering juga isi respons. Bagian “body” adalah data biasa yang Anda minta, seperti HTML atau gambar sebenarnya, dll.
Harap dicatat bahwa beberapa teknik yang ditunjukkan di sini dapat digunakan untuk metode “blackhat”.
10 Hal Yang Dapat Dilakukan Dengan PHP Curl
1. Perbarui status Facebook Anda
Ingin mengupdate status facebook anda, tapi tidak ingin masuk ke facebook.com, login, dan akhirnya bisa mengupdate status anda? Cukup simpan kode berikut di server Anda, tentukan variabelnya, dan voilÃ!
<? PHP
/ *******************************
* Pembaruan Status Facebook
* Flickinger Kristen
* http://nexdot.net/blog
* 20 April 2007
******************************* /
$ status = 'YOUR_STATUS';
$ first_name = 'YOUR_FIRST_NAME';
$ login_email = 'YOUR_LOGIN_EMAIL';
$ login_pass = 'KATA SANDI ANDA';
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, 'https://login.facebook.com/login.php?m&next=http%3A%2F%2Fm.facebook.com%2Fhome.php');
curl_setopt ($ ch, CURLOPT_POSTFIELDS, 'email ='. urlencode ($ login_email). '& pass ='. urlencode ($ login_pass). '& login = Login');
curl_setopt ($ ch, CURLOPT_POST, 1);
curl_setopt ($ ch, CURLOPT_HEADER, 0);
curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($ ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt ($ ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ ch, CURLOPT_USERAGENT, "Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.8.1.3) Gecko / 20070309 Firefox / 2.0.0.3");
curl_exec ($ ch);
curl_setopt ($ ch, CURLOPT_POST, 0);
curl_setopt ($ ch, CURLOPT_URL, 'http://m.facebook.com/home.php');
$ halaman = curl_exec ($ ch);
curl_setopt ($ ch, CURLOPT_POST, 1);
preg_match ('/ name = "post_form_id" value = "(. *)" \ />'. ucfirst ($ first_name). '/', $ page, $ form_id);
curl_setopt ($ ch, CURLOPT_POSTFIELDS, 'post_form_id ='. $ form_id [1]. '& status ='. urlencode ($ status). '& update = Perbarui');
curl_setopt ($ ch, CURLOPT_URL, 'http://m.facebook.com/home.php');
curl_exec ($ ch);
?>
2. Dapatkan kecepatan unduh server web Anda
Apakah Anda pernah ingin mengetahui kecepatan unduh yang tepat dari server web Anda (atau yang lainnya?) Jika ya, Anda akan menyukai kode itu.
Anda hanya perlu menginisialisasi variabel $ url dengan sumber daya apa pun dari server web (gambar, pdf, dll), letakkan file di server Anda dan arahkan browser Anda ke sana. Keluarannya adalah laporan lengkap kecepatan unduh.
// Waktu yang dihabiskan untuk mengunduh, kurasa
$ waktu = $ info ['total_time']
- $ info ['namelookup_time']
- $ info ['connect_time']
- $ info ['pretransfer_time']
- $ info ['starttransfer_time']
- $ info ['redirect_time'];
// Pesan ramah gema
header ('Jenis-Konten: teks / biasa');
printf ("Mengunduh% d byte dalam% 0.4f detik. \ n", $ info ['size_download'], $ time);
printf ("Yaitu% 0.4f mbps \ n", $ info ['size_download'] * 8 / $ time / 1024/1024);
printf ("CURL mengatakan% 0.4f mbps \ n", $ info ['speed_download'] * 8/1024/1024);
echo "\ n \ ncurl_getinfo () berkata: \ n", str_repeat ('-', 31 + strlen ($ url)), "\ n";
foreach ($ info sebagai $ label => $ value)
{
printf ("% - 30s% s \ n", $ label, $ nilai);
}
?>
3. Login myspace menggunakan PHP cURL
fungsi login ($ data, $ useragent = ‘Mozilla 4.01’, $ proxy = false) {
$ ch = curl_init ();
$ hash = crc32 ($ data ['email']. $ data ['pass']);
$ hash = sprintf ("% u", $ hash);
$ randnum = $ hash.rand (0, 9999999);
jika ($ proxy) curl_setopt ($ ch, CURLOPT_PROXY, $ proxy);
curl_setopt ($ ch, CURLOPT_COOKIEJAR, '/tmp/cookiejar-'.$randnum);
curl_setopt ($ ch, CURLOPT_COOKIEFILE, '/tmp/cookiejar-'.$randnum);
curl_setopt ($ ch, CURLOPT_USERAGENT, $ useragent);
curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ ch, CURLOPT_POST, 0);
curl_setopt ($ ch, CURLOPT_URL, 'http://www.myspace.com');
$ halaman = curl_exec ($ ch);
preg_match ('/MyToken=(.+?)"/i', $ page, $ token);
jika ($ token [1]) {
curl_setopt ($ ch, CURLOPT_URL, 'http://login.myspace.com/index.cfm?fuseaction=login.process&MyToken='.$token[1]);
curl_setopt ($ ch, CURLOPT_REFERER, 'http://www.myspace.com');
curl_setopt ($ ch, CURLOPT_HTTPHEADER, Array ('Jenis-Konten: aplikasi / x-www-form-urlencoded'));
curl_setopt ($ ch, CURLOPT_POST, 1);
$ postfields = 'NextPage = & email ='. urlencode ($ data ['mail']). '& password ='. urlencode ($ data ['pass']). '& loginbutton.x = & loginbutton.y =';
curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ postfields);
$ halaman = curl_exec ($ ch);
if (strpos ($ page, 'SignOut')! == false) {
kembali $ randnum;
}
lain {
preg_match ('/MyToken=(.+?)"/i', $ page, $ token);
preg_match ('/ replace \ ("([^ \"] +) "/', $ page, $ redirpage);
jika ($ token [1]) {
curl_setopt ($ ch, CURLOPT_POST, 0);
curl_setopt ($ ch, CURLOPT_URL, 'http://home.myspace.com/index.cfm?&fuseaction=user&Mytoken='.$token[1]);
$ halaman = curl_exec ($ ch);
curl_close ($ ch);
if (strpos ($ page, 'SignOut')! == false) {
kembali $ randnum;
}
}
elseif ($ redirpage [1]) {
curl_setopt ($ ch, CURLOPT_REFERER, 'http://login.myspace.com/index.cfm?fuseaction=login.process&MyToken='.$token[1]);
curl_setopt ($ ch, CURLOPT_URL, $ redirpage [1]);
curl_setopt ($ ch, CURLOPT_POST, 0);
$ halaman = curl_exec ($ ch);
curl_close ($ ch);
if (strpos ($ page, 'SignOut')! == false) {
kembali $ randnum;
}
}
}
}
return false;
}
?>
4. Publikasikan posting di blog WordPress Anda, menggunakan cURL
Fungsi ini dapat memposting di blog WordPress Anda. Anda tidak perlu masuk ke dasbor WP Anda dll.
Meskipun demikian, Anda harus mengaktifkan opsi posting XMLRPC di blog WordPress Anda. Jika opsi ini tidak diaktifkan, kode tidak akan bisa memasukkan apapun ke database WordPress. Hal lain, pastikan fungsi XMLRPC diaktifkan pada file php CURL Anda.
function wpPostXMLRPC ($ title, $ body, $ rpcurl, $ username, $ password, $ category, $ keywords = '', $ encoding = 'UTF-8')
{
$ title = htmlentities ($ title, ENT_NOQUOTES, $ encoding);
$ keywords = htmlentities ($ keywords, ENT_NOQUOTES, $ encoding);
$ content = array (
‘title’ => $ judul,
‘description’ => $ body,
‘mt_allow_comments’ => 0, // 1 untuk mengizinkan komentar
‘mt_allow_pings’ => 0, // 1 untuk memungkinkan trackback
‘post_type’ => ‘post’,
‘mt_keywords’ => $ kata kunci,
‘kategori’ => larik ($ kategori)
);
$ params = array (0, $ username, $ password, $ content, true);
$ request = xmlrpc_encode_request (‘metaWeblog.newPost’, $ params);
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ request);
curl_setopt ($ ch, CURLOPT_URL, $ rpcurl);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ ch, CURLOPT_TIMEOUT, 1);
$ hasil = curl_exec ($ ch);
curl_close ($ ch);
mengembalikan $ hasil;
?>
5. Uji keberadaan url tertentu
Kami tahu, kedengarannya dasar. Sebenarnya ini dasar tetapi juga sangat berguna, terutama ketika Anda harus bekerja dengan sumber daya eksternal. Php Curl dapat Anda manfaatkan disini
<? php
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, "http://www.jellyandcustard.com/");
curl_setopt ($ ch, CURLOPT_HEADER, true);
curl_setopt ($ ch, CURLOPT_NOBODY, true);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true);
$ data = curl_exec ($ ch);
curl_close ($ ch)
echo $ data;
?>
6. Posting komentar di blog WordPress
Untuk melakukannya, mereka hanya perlu mengisi array $ postfields dengan info yang ingin mereka tampilkan dan memuat halaman. Tentu saja kode ini hanya untuk tujuan pendidikan.
<? php
$ postfields = array ();
$ postfields ["action"] = "submit";
$ postfields ["author"] = "Spammer";
$ postfields ["email"] = "spammer@spam.com";
$ postfields ["url"] = "http://www.iamaspammer.com/";
$ postfields ["comment"] = "Saya adalah spammer jahat.";
$ postfields ["comment_post_ID"] = "123";
$ postfields ["_ wp_unfiltered_html_comment"] = "0d870b294b";
// Url pengiriman formulir
$ url = "http://www.ablogthatdoesntexist.com/blog/suggerer_site.php?action=meta_pass&id_cat=0";
$ useragent = "Mozilla / 5.0";
$ referer = $ url;
// Inisialisasi sesi CURL
$ ch = curl_init ($ url);
// Opsi CURL
curl_setopt ($ ch, CURLOPT_POST, 1);
// Kami memposting data $ postfields
curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ postfields);
// Kami mendefinisikan agen pengguna (Mozilla / 5.0)
curl_setopt ($ ch, CURLOPT_USERAGENT, $ useragent);
// Kami mendefinisikan refferer ($ url)
curl_setopt ($ ch, CURLOPT_REFERER, $ referer);
// Kami mendapatkan halaman hasil dalam string
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
// Kami keluar dari CURL
$ hasil = curl_exec ($ ch);
curl_close ($ ch);
// Akhirnya, kami menampilkan hasilnya
echo $ result;
?>
7. Ikuti penghasilan Adsense Anda dengan pembaca RSS
Kebanyakan blogger menggunakan Adsense di blog mereka dan (mencoba) menghasilkan uang dengan Google. Potongan yang sangat baik ini memungkinkan Anda untuk mengikuti penghasilan Adsense Anda dengan pembaca RSS melalui PHP Curl! Benar-benar luar biasa.
8. Dapatkan jumlah pelanggan umpan dalam teks lengkap
Jika Anda seorang blogger, Anda mungkin menggunakan layanan FeedBurner yang populer, yang memungkinkan Anda mengetahui berapa banyak orang yang mengambil rss feed Anda.
Feedburner memiliki kesempatan untuk dengan bangga menampilkan jumlah pelanggan Anda di blog Anda. PHP cURL dapat dengan mudah mengambil nilai hitungan dan mengembalikannya kepada Anda sebagai variabel sehingga Anda dapat menampilkannya sesuai keinginan di blog Anda.
// dapatkan hitungan feedburner yang keren
$ whaturl = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=feedburner-id";
// Inisialisasi sesi Curl
$ ch = curl_init ();
// Set curl untuk mengembalikan data daripada mencetaknya ke browser.
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
// Tetapkan URL
curl_setopt ($ ch, CURLOPT_URL, $ whaturl);
// Jalankan pengambilan
$ data = curl_exec ($ ch);
// Tutup koneksi
curl_close ($ ch);
$ xml = SimpleXMLElement baru ($ data);
$ fb = $ xml-> umpan-> entri ['sirkulasi'];
// akhiri dapatkan hitungan feedburner yang keren
9. Masukkan konten halaman web ke dalam variabel PHP
Ini adalah hal yang sangat mendasar untuk dilakukan dengan PHP cURL, tetapi dengan kemungkinan yang tak terbatas. Setelah Anda memiliki halaman web dalam variabel PHP, misalnya, Anda dapat mengambil informasi tertentu pada halaman untuk digunakan di situs web Anda sendiri.
<? php
ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, "example.com");
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
$ keluaran = curl_exec ($ ch);
curl_close ($ ch);
?>
10. Posting ke Twitter menggunakan PHP dan cURL
Twitter sangat populer sejak beberapa waktu sekarang, dan Anda mungkin sudah memiliki akun di sana. Jadi, bagaimana dengan menggunakan PHP cURL untuk men-tweet dari server Anda tanpa koneksi ke Twitter?
<? php
// Atur nama pengguna dan kata sandi
$ username = 'username';
$ password = 'password';
// Pesan yang ingin Anda kirim
$ message = 'sedang twitt dari php menggunakan curl';
// Alamat Twitter API
$ url = 'http://twitter.com/statuses/update.xml';
// Versi JSON alternatif
// $ url = 'http://twitter.com/statuses/update.json';
// Siapkan dan jalankan proses curl
$ curl_handle = curl_init ();
curl_setopt ($ curl_handle, CURLOPT_URL, "$ url");
curl_setopt ($ curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt ($ curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ curl_handle, CURLOPT_POST, 1);
curl_setopt ($ curl_handle, CURLOPT_POSTFIELDS, "status = $ message");
curl_setopt ($ curl_handle, CURLOPT_USERPWD, "$ username: $ password");
$ buffer = curl_exec ($ curl_handle);
curl_close ($ curl_handle);
// periksa keberhasilan atau kegagalan
if (kosong ($ buffer)) {
echo 'message';
} lain {
echo 'sukses';
}
?>
Jika tertarik untuk tahu informasi terbaru seputar dunia IT kunjungi selalu Web App di https://appkey.id/ atau download aplikasinya di Google Play Store secara gratis!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.