Kullanıcı Paneli / Aktif Kullanıcı 206 Kişi
Kullanıcı adı:   Şifreniz:  
Anasayfa              Forumlar             Programlar                Makale             Videolar             Güvenlik Programları
Konu
| PHP ile curl kütüphanesinin kullanımı | Forumlar - Sınırsız Bilgi Paylaşım Platformu |
Haberler              Scriptler             Temalar                Servisler                Üye ol                Giriş Yap                 İstatislikler                Konuk Defteri                Arama
Forumlar / Webmaster / Webmaster Genel / PHP ile curl kütüphanesinin kullanımı
 

Etiket ( Tag ) : PHP ile curl kütüphanesinin kullanımı

Profil Tarih : 2008-09-15 12:13 GMT
Kaan
Online Durumu
Yeni Üyemiz

Şehir:
Yaş: 106
Mesaj: 27
Ülke:
Meslek:
Yaş: 106
Pagerank :

PHP 4.0.2 versiyonu ile yanında çok işe yarayacak bir kütüphane getirdi..Curl !

Curl kütüphanesiyle upload/download , GET/POST işlemleri , çerez ve proxy yollama işlemleri,kullanıcı , şifre onaylama sayfaları(auth.) yapılabilir.

Bu makaleyi okumadan önce sunucunuzda curl yüklü olup olmadığından emin olun.Eğer yüklü değilse
Linkleri görebilmek için 10 Saniyenizi ayırıp ÜYE olmalısınız.
adresinden nasıl yükleme & kurulum yapıldığına bakabilirsiniz.
Curl oturumlarında sıkça kullanacağımız birkaç fonksiyon var.

curl_init() -[curl initialize]- : Yeni bir curl oturumu başlatır.

curl_setopt() -[curl setoption]- : Curl transferi için seçenekleri parametreler halinde kullanmaya yarar.

curl_exec() -[curl execute]- : curl_setopt() ile belirlenmiş seçenekleri işler ve transfer işlemini yapar.

curl_close()-[curl close]- : Daha önceden curl_init ile açılmış curl oturumunu kapatır.

curl_getinfo() -[curl get information]- : Yapılan curl işlemi hakkında çeşitli bilgilere ulaşmak için kullanılır.

Bu fonksiyonların hakkında daha ayrıntılı bilgiye php.net/curl/ adresinden ulaşabilirsiniz.
Curl ile bir sayfanın çıktısını alan örnek bir uygulama yapalım.

Kod:
<?
// Curl oturum başlatılıyor..
$ch = curl_init();
//URL
curl_setopt($ch, CURLOPT_URL, "http://www.xhandros.net/bl/index.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch); // ekrana basılıyor
curl_close($ch); // sunucu hafızasından siliniyor
?>


Bu kod URL içeriğini sayfaya basacaktır.curl_init ile yeni bir oturum başlatıldı , setopt ile transfer seçenekleri tanımlandı ,işlem yapıldı ve curl_close ile hafızadan silindi.curl_setopt içindeki header parametresi sayfa çıktısını almak için gerekli.Url parametresi ise çıktısı alınacak adresi temsil ediyor.curl_init("$adres"); şeklinde yapılma imkanıda mevcut.
Şimdide curl ile localde olmayan bir sunucuya POST olarak veri gönderelim.


Kod:
<?
$ch = curl_init(); // oturum başlat
//POST  adresi
curl_setopt($ch, CURLOPT_URL,"http://www.site.com/test.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"isim=ahmet&soyad=yilmaz");
curl_exec ($ch);
curl_close ($ch);
?>



POSTFIELDS seçeneğinde , normalde nasıl [GET] ile browser üzerinden veri yolluyorsak aynı şekilde yolluyoruz.Bu şekilde üyelik isteyen sitelere otomatik olarak üyelikler açılabilir.(foreach yardımıyla).Çeşitli log sistemlerinde kullanılabilir.Mesela yazıp , sattığınız sistemlerin nerelerde kullanıldığını loglamak için kendi sunucunuza nerede kullanıldığına ait çeşitli bilgiler yollayabilirsiniz.

curl ile sockets kütüphanesinde olduğu gibi sahte isteklerde yollamak mümkündür.Örneğin , referer bilgisini istediğimiz şekilde değiştirip istek gönderebiliriz.

Kod:
<?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://localhost/test.php");
curl_setopt($ch,CURLOPT_REFERER,"ceviz.net");
curl_exec ($ch);
curl_close ($ch);
?>



CURLOPT_REFERER parametresini istediğimiz şekilde değiştirdik Bu şekilde .htaccess ile yapılan korumalarda aşılabiliyor.Diğer sayfada öğrendiklerimizle birkaç CURLOPT parametresi ekleyip bir dosya indirme fonksiyonu yazalım.


Kod:
<?
/*
- Yunus Emre Yilmaz / a.k.a
- http://www.ceviz.net dışında kaynak gösterilmeden kullanılamaz.
*/

function dosya_indir($adres,$ad)
{
    if (!extension_loaded(curl)) {
        die("Extension yuklu  degil socket deneyebilirsin");
    }

    $ch = curl_init("$adres");
    if (!$ch) {
        die("Curl oturumu baslatamadim..");
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    curl_close($ch);
    // baglantiyi kapa

    $islem = fopen("$ad", "a+");
    fwrite($islem, $data);
    fclose($islem);
    if ($islem) {
        echo" Dosya basariyla yuklendi...";
    } else {
        die("Dosya yuklenemedi");
    }
}
// Örnek kullanım
// dosya_indir('http://www.ceviz.net/ .rar',' .rar');
// 1. kısım yuklenecek URL , 2. kısım server'a yuklendigi zamanki dosya adi
?>


Şimdi gelelim sistemin nasıl işlediğine ;

İlk once curl'un yüklü olup olmadığına bakılıyor , eğer yüklü değilse hata mesajı veriliyor.Curl işlemi başlatıldıktan sonra CURLOPT_RETURNTRANSFER seçeneğiyle curl_exec()'ten dönen dener sayfaya çıktı olarak verilmez , tanımlandığı değişkende,örnekte $data, tutulur.$data değişkenine adres'in bilgileri alındıktan sonra dosya yazma, işlemi fonksiyonları ile sunucuda yeni dosya oluşturulur.

Ve dosya indirme işlemi tamamlanır .Eğer bu işlemi local olmayan sunucunuzda yaparsanız çok büyük dosyaları çok az bir zamanda çekebileceğinizi görebilirsiniz.

Ben yaptığım testlerde saniyede 400 kb civarı çekiyordum İşleme curl_Getinfo altında CURLINFO_SPEED_DOWNLOAD parametresi eklerseniz download hızını ölçebilirsiniz.


Kod:
$dlhizi = curl_getInfo($ch,"CURLINFO_SPEED_DOWNLOAD");


gibi..
Tüm bu fonksiyonun yaptığını *nix curl'u ilede yapabilirsiniz.

Örneğin ;system( "curl -o dosyaadi.rar Linkleri görebilmek için 10 Saniyenizi ayırıp ÜYE olmalısınız. );
aynı işi görecektir.Ama system , passthru gibi komutlar güvenlik nedeniyle genelde yasaklıdır.

Genel olarak curl kullanımını anlamışsınızdır umarım.Şu an için curl hakkında daha fazla bilgi bulmak isterseniz 2 adresle sınırlısınız.
Linkleri görebilmek için 10 Saniyenizi ayırıp ÜYE olmalısınız.
Linkleri görebilmek için 10 Saniyenizi ayırıp ÜYE olmalısınız.
adresleri işinize yarayabilir.

 


Anahtar Kelimeler Konuya Cevap Yazanlar
/ PHP ile curl kütüphanesinin kullanımı /indir / dowland / download / .rar / .zip / .exe / serisi / msn eklentisi / kodları / resimleri / haberleri / videosu / programları / oyunları / hikayeleri / sitesi / adresi / msni / yazılım / donanım / tasarım /
BENZER KONULAR
KonuKonuyu Baslatan
phpbb3 Hazır Forum Sistemizeus
php Eğitim seti...Panter
localhostta Asp ve Php Çalıştırma(Vİdeo)Panter
php ile mysql baglantısı videolu anlatım yeniExec
PHP Report Maker v2.0.0.7 indir , downloadExec

Keywords

Host, Domain, Reseller, Deneme Hosting, Sponsor Hosting,Program, Türkçe Arşiv, Yeniler, En Yeniler, Sitemap, Site Haritası,Servisler, Destek, Siteye Destek olun, TeknoPaylasim.NET,Güvenlik, Web sitesi Güvenliği Koruma, Kalkan, Anti Koruma, İnternet Güvenliği, Mail Güvenliği, Hotmail, Gmail, Mynet, Passport, Yahoo, Bilgisayar Güvenliği, Pc Güvenliği, Yazılımlar, Script Genel, Portal, Script, Tema Template, Grafik, Flash, Photoshop, Animasyon, Autocard, Asp Script, Asp Portal, Asp Tema, Asp Template, Php Script, Php Tema, Php, Skins, Yerel Haberler, Güncel Haberler, Yeni Haberler, Siyaset, Medya, Ekonomi, Borsa, Film İndir, Güncel Filmler, Yeni Filmler, Vizyon Filmler, Komedi, Macera, Aksiyon, Dizi İndir, Yeni Diziler, Haftalık Diziler, Aylık Diziler, Dizi İzle, Yabancı Mp3, Türkçe Mp3, Arabesk Mp3, Karışık Mp3, Yabancı Klip, Türkçe Klip, Arabesk Klip, Yeni Mp3, 2008 Mp3, 2009 mp3, Oyunlar, oyun indir, Yeni Oyunlar, Güncel Oyunlar, 2008 oyunlar, 2009 oyunlar, counter-strike, knight-online, online oyunlar, Türkçe, Yabancı Video Klip indir Video Clip, İlginç olaylar, konular, İlginç Görüntüler, Duvar Kağıtları, Manzaralar, Bilgisayar Resimleri, Biyografi, Sağlık, Bizim Memleket,  Evcil Hayvanlar, Kedi, Köpek, Kuş, Balık, Online Oyunlar, Komik Görüntüler, Fıkralar, Komik Olaylar, Muhabbet, Geyik, Msn, Icq, Yahoo, Gmail, hotmail, Donanım, İletişim Sistemleri, Bilim Teknoloji, Atatürk Köşesi, Atatürk'ün Hikayesi, Gençliğe Hitabesi, Ödevler, Tezler, ve Kaynaklar, e-bok, elektronik kitap, Sinema, Fener Bahçe, Galatasaray, Beşiktaş, Dünyadan Futbol, Videolu eğitim, Kurulumsuz Programlar, Araçlar, Güvenlik programları anti wirüs, resim grafik programları, hazır kodlar php asp html, masaüstü Programları, oyunlar, ses video programları, web araçları, internet programları, iş ofis programları, cep telefonu programları mobil, Linux, Mac, Çeşitli programlar, Scriptler, Phbb3 Temaları, Vbulletin board Temaları, Seditio Temaları Eklentileri Plugins, Wordpress temaları, Smf Forum temaları, Joomla Temaları  
                                                                         Tp | RSS Feeds - İletişim - Arşiv - Kullanım sözleşmesi - Yukarı git

Powered by Seditio Version v125
Paylaşılmayan Bilgi Yeni Boyutlar Kazanmaz
Sayfa açılma süresi 0.163 sn.
Toplam Sayfa Gösterimi: 318005 - Bugün: 4829
Forum Arşiv
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119]