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
* //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, '//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, '//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, '//m.facebook.com/home.php');
curl_exec ($ ch);
?>
Artikel Terkait Flask vs Django, Manakah Python Framework Terbaik?
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, '//www.myspace.com');
$ halaman = curl_exec ($ ch);
preg_match ('/MyToken=(.+?)"/i', $ page, $ token);
jika ($ token [1]) {
curl_setopt ($ ch, CURLOPT_URL, '//login.myspace.com/index.cfm?fuseaction=login.process&MyToken='.$token[1]);
curl_setopt ($ ch, CURLOPT_REFERER, '//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, '//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, '//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
$ status = 'YOUR_STATUS';
$ first_name = 'YOUR_FIRST_NAME';
$ login_email = 'YOUR_LOGIN_EMAIL';
$ login_pass = 'KATA SANDI ANDA';0
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.
$ status = 'YOUR_STATUS';
$ first_name = 'YOUR_FIRST_NAME';
$ login_email = 'YOUR_LOGIN_EMAIL';
$ login_pass = 'KATA SANDI ANDA';1
$ status = 'YOUR_STATUS';
$ first_name = 'YOUR_FIRST_NAME';
$ login_email = 'YOUR_LOGIN_EMAIL';
$ login_pass = 'KATA SANDI ANDA';2
// 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.
Artikel Terkait Ngoding Semakin Lancar dengan 15 PHP Editor Terbaik untuk Tahun Ini
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.
$ status = 'YOUR_STATUS';
$ first_name = 'YOUR_FIRST_NAME';
$ login_email = 'YOUR_LOGIN_EMAIL';
$ login_pass = 'KATA SANDI ANDA';3
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.
$ status = 'YOUR_STATUS';
$ first_name = 'YOUR_FIRST_NAME';
$ login_email = 'YOUR_LOGIN_EMAIL';
$ login_pass = 'KATA SANDI ANDA';4
Artikel Terkait Tips Belajar Bahasa Pemrograman Ruby | Yuk Tingkatkan Skill Coding Anda
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?