+ Cevap Yaz
Toplam 4 sayfadan 1. sayfa 1 2 3 4 En SonEn Son
34 sonuçtan 1 ile 10 arası gösteriliyor

Konu: PHP ve CURL

  1. #1

    Üyelik Tarihi
    07/2004
    Mesaj
    222
    sss

    Varsayılan PHP ve CURL

    Curl öğreneli daha 3-5 gün olduğu için yanlışlarım olabilir eleştirmekten çekinmeyin
    Neyse kısa keselim ve yazımızı gösterelim


    CURL (Client URL)
    1.Curl Nedir ?
    Curl php'nin değişik türlerdeki severlarla bir çok protokol ile alış-veriş yapması sağlayan bir kütüphanedir.
    Curl ile http, ftp, telnet.. gibi protokollerde çalışabilrisiniz. Ancak benim şimdilik bildiğim sadece http kısmı. Http ile post/get işlemleri yapabilir bu işlemlerde cookie kullanabilirsiniz.

    Php'ye Curl kütüphanesini eklemek için php.ini dosyanızdan curl'e ait extension satırının başındaki noktalı virgülü silmeniz yeterli olacaktır. (Aşağıda yazacağım kodları PHP4 ile denedim PHP5 'te çalışma garantisi yok )

    CURL işlemleri birer oturum olarak çalıştırılır. Bu da demek oluyor ki eğer curl ile bir işlem yapacaksak önce bir curl oturumu başlatmanız lazım. Daha sonra bu işleme ait ayarları yapıp işlemi çalıştırmak sonunda da oturumu kapatmalıyız.

    2. CURL Fonksiyonları
    2.1. curl_init()
    Bu fonksiyon curl oturumu başlatmaya yarar. Argüman olarak oturumun açılacağı url'yi verebilirsinizde tabii isterseniz argümansız olarak çağırıp url'yi sonradan ayarlayabilirsiniz. Oturum açtığınız zaman bu oturumu bir değişkene atayarak oturum işlemlerini bu değişken üstünden yapmalısınız.

    $curl_oturumu =curl_init();
    veya
    $curl_oturumu =curl_init("www.spymastersnake.org/";

    Artık oturum açılmış ve $curl_oturumu adlı değikende tutulmuştur.

    2.2. curl_setopt()
    Curl_setopt fonksiyonu açtığınız oturumun özelliklerini belirlemek yani değişkenlerini değiştirmek içindir. Bu değişkenlerin bazıları açıklamalarıyla aşağıdadır:

    - CURLOPT_URL : Oturumun açılacağı adresi bu değişken tutmaktadır. Eğer curl_init fonksiyonunu argümansız olarak çağırdıysanız burada oturumun açılacağı adresi mutlaka belirtmeniz lazım. Curl_init ile adresi verdiyseniz bile burada tekrar adresi değiştirebilirsiniz.
    curl_setopt($curl_oturumu, CURLOPT_URL, "http://www.spymastersnake.org");

    - CURLOPT_HEADER: Curl oturumunun çıktısında header'ların gösterilip gösterilmeyeceğine ait değişkendir. Eğer çıktıda header'lar görünmesin istiyorsanız bu değişkene sıfır (0) atamalısınız. Sıfır haricindeki değerlerde header çıktıda gösterilir.
    curl_setopt($curl_oturumu, CURLOPT_HEADER, 1);
    curl_setopt($curl_oturumu, CURLOPT_HEADER, 0);

    - CURLOPT_POST: Eğer Curl ile herhangi bir adresteki forma post ile veri yollamak istiyorsanız bu değişlene sıfır haricinde bir değer atamanız gereklidir.
    curl_setopt($curl_oturumu, CURLOPT_POST, 1);
    curl_setopt($curl_oturumu, CURLOPT_POST, 0);

    - CURLOPT_POSTFIELDS : Post işlemi yapacaksanız buraya yollıyacağınız değişken isimlerini ve değerlerini girmelisiniz.
    curl_setopt($curl_oturumu, CURLOPT_POSTFIELDS,"yazan=undertaker&okuyan=SpyMS_ uyeleri");
    curl_setopt($curl_oturumu, CURLOPT_POSTFIELDS, $post_degerleri);

    - CURLOPT_FOLLOWLOCATION : Çalıştırdığınız oturumda gelen header içinde "Location:adres" gibi bir yönlendirme varsa bu yönlendirmeye uyup uymuyacağı bu değişken ile belirlenir.
    curl_setopt($curl_oturumu, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($curl_oturumu, CURLOPT_FOLLOWLOCATION, 0);

    - CURLOPT_REFERER : Bu değişken oturum açtığınız siteye header bilgisi ile geldiğiniz adresi (hangi siteden oraya geldiğiniz) istediğiniz gibi değiştirebilmenizi sağlar.
    curl_setopt($curl_oturumu,CURLOPT_REFERER, "www.spymastersnake.org");

    - CURLOPT_USERAGENT : Oturum açılan siteye sizi tanıtan bilgileri içieren (ör: "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) bir header olan useragent'ı bu değişken ile değiştirebilirsiniz. (Bu değişkene "googlebot" atadığınız zaman bazı forumların üyelik gerektiren sayfalarına direk erişebilirsiniz )
    curl_setopt($curl_oturumu, CURLOPT_USERAGENT, "UndeRTakeR");

    - CURLOPT_COOKIE : Oturum açılan siteye yollamak istediğiniz cookie "içeriğini" bu değişken tutmaktadır.
    curl_setopt($curl_oturumu, CURLOPT_COOKIE, "cookie içinde bunlar olsun");

    - CURLOPT_COOKIEFILE : Eğer cookie içeriğini string olarak değilde bir dosya içerisinden yollamak istiyorsanız bu değişkene dosya adını yazarak yapabilirsiniz.
    curl_setopt($curl_oturumu, CURLOPT_COOKIEFILE, 'giden_cookie_dosyasi.txt');

    - CURLOPT_COOKIEJAR : Oturum açarak işlem yaptığınız sayfadan gelen cookie'yi kaydetmek istiyorsanız bu değişkene kaydedilecek dosya adını yazmalısınız.
    curl_setopt($curl_oturumu, CURLOPT_COOKIEJAR, 'gelen_cookie_dosyasi.txt');

    - CURLOPT_RETURNTRANSFER : Curl oturumunu çalıştırdığınız zaman gelen veriyi çıktı olarak almak yerine değilde bir değişkene atanmasını istiyorsanız bu değişkene true veya 1 olarak atamalısınız. Aksi halde gelen çıktı direk olarak ekrana bastırılacaktır.
    curl_setopt($curl_oturumu, CURLOPT_RETURNTRANSFER, 1); // Açık
    curl_setopt($curl_oturumu, CURLOPT_RETURNTRANSFER, 0); // Kapalı

    - CURLOPT_FILE : Curl işlemi çalıştığında gelen veriyi dosyaya yazmak istiyorsanız buraya dosyayı açtığınız değişkeni yazmalısınız.
    $dosya = fopen("gelen_veriler_yazilacak.txt", "w");
    curl_setopt($curl_oturumu, CURLOPT_FILE, $dosya);

    - CURLOPT_NOBODY : Curl işlemi çalıştırıldığ zaman çıktıda body bilgileri gelmesin istiyorsanız (örneğin sadece header'ı istediğiniz zaman bunu kullanabilirsiniz) bu değişkene 1 veya true atamalısınız.
    curl_setopt($curl_oturumu, CURLOPT_NOBODY, 1);
    curl_setopt($curl_oturumu, CURLOPT_NOBODY, 0);

    - CURLOPT_TIMEOUT : Curl işlemi çalıştırılıdığı zaman fonksiyonun çalışacağı en uzun süre sınırı bu değişkende tutulur.
    curl_setopt($cUrl, CURLOPT_TIMEOUT, $max_calisacagi_saniye);


    Eğer Curl oturumunuzda proxy kullanmak istiyorsanız aşağıdaki 3 ayarı da yapmanız gereklidir:
    curl_setopt($curl_oturumu, CURLOPT_HTTPPROXYTUNNEL, 1);
    curl_setopt($curl_oturumu, CURLOPT_PROXY, 'proxy_ismi_VEYA_ip_adresiroxy_portu');
    curl_setopt($curl_oturumu, CURLOPT_PROXYUSERPWD, 'kullanici_adi:sifre');
    - CURLOPT_HTTPPROXYTUNNEL : Bu değişken ile proxy kullanacağımızı belirtiyoruz.
    - CURLOPT_PROXY : Bu değişken ise kullanacağımız proxy adını veya ip adresini tutmaktadır.
    - PROXYUSERPWD : Eğer kullanılan proxy şifreli ise bu değişkene kullanıcı adını ve şifreyi üstteki formatta girmelisiniz.


    2.3. curl_exec()
    Bu fonksiyon setpot ile gerekli ayarları yaptıktan sonra oturumu çalıştırmanızı sağlar. Dönen veriyi eğer setopt ile ayarını yaptıysanız dosyaya, değişkene veya çıktı olarak ekrana aktarabilirsiniz.


    2.4. curl_close()
    Curl oturumuyla işiniz bittiği zaman php'yi yormamak için kapatırsak iyi olur

    2.5 curl_version()
    Kullandığınız server'a ait curl versiyonunu verir. http://curl.haxx.se adresinden yeni versiyonları indirebilirsiniz.


    Bu fonksiyonlardan başka Curl'ün çoklu olarak çalışması için multi fonksiyonları var ancak onları henüz kullanmadığım için birşeyler yazamıyacağım.


    || Yazan : UndeRTakeR
    ||
    || MsN : under_taker_m@hotmail.com
    || Tarih : 30/06/2006
    || Şehir : Ankara
    || Konum : Sandalye
    [/QUOTE]

  2. #2
    oCRaCy Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    04/2006
    Yer
    İstanbul
    Mesaj
    758
    ...

    Varsayılan

    Makale leri foruma yazmıyoruz.

    Sitede makale bölümü var. Oraya ekliyebilirsiniz.

    GİRİŞ
    To follow the path
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

  3. #3

    Üyelik Tarihi
    07/2004
    Mesaj
    222
    sss

    Varsayılan

    Ben direk forumlara girdiğim için makale bölümünden pek haberdar değildim kusura bakmayın

    Bu arada giriş için verdiğin link süreki yanlış şifre veya parola diyor :S

  4. #4
    Caesar Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    01/2005
    Yer
    Lost temple
    Mesaj
    322
    白石美

    Varsayılan

    arkadaşın mesaj sayısı yeterli degil yazar olmasi için onun için foruma yazabilir doğaldır. teşekkürler @UnderTaker
    白石美帆 おっぱいチラ

  5. #5
    oCRaCy Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    04/2006
    Yer
    İstanbul
    Mesaj
    758
    ...

    Varsayılan

    Ben makalenin kalıcı ve herkes tarafından rahatça bulunabilmesi açısından makale bölümünü tavsiye ettim. Mesaj sınırını aşana kadar bekliyebilir.
    To follow the path
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

  6. #6
    Caesar Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    01/2005
    Yer
    Lost temple
    Mesaj
    322
    白石美

    Varsayılan

    bilgi beklemez, hemen değerlendirmeli demişler hem ceviz.net ziyaretçileri içinde iyi olmuş olur böylelikle. Ama bu durumlarda dilerseniz siz arkadasin yazisini makale olarak girebilir ve modlara haber vererek buradan sildirtebilirsiniz.
    白石美帆 おっぱいチラ

  7. #7

    Üyelik Tarihi
    02/2006
    Mesaj
    77
    Yeni yetme programci

    Varsayılan

    çok teşekkürler bu post için.

  8. #8
    salihakkas2 Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    09/2005
    Yer
    ankara, izmir
    Mesaj
    297
    Eski Cevizci

    Varsayılan

    curl ile session idmizi kendimiz atama imkanımız varmı

  9. #9
    Yns
    Yns hatta değil
    Yns Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    10/2004
    Mesaj
    2,808
    Üyeliği İptal Edildi

    Varsayılan

    sessionid zaten cookie olarak yollanıyor, CURLOPT_COOKIE ile phpsessid adında bir cookie yollayabilirsin.

  10. #10
    ParK Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    08/2006
    Mesaj
    233
    erhan özden

    Varsayılan

    php ye mükemmle bir özellik daha
    döküman için teşekkürler .. bende araştırıp ftp telnet kısmını öğreneip yayınlayayım

    communicate url
    <?php
    static $a="okula git";
    for($i=0; $i=<100; $i++){ print $a."<br>"; }
    ?> erhan.ozden@gmail.com

+ Cevap Yaz

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Benzer Konular

  1. Curl ile SSL sayfa bağlantısı
    By Caesar in forum PHP
    Cevap: 9
    En Son Mesaj: 02/03/2007, 14:39
  2. Cevap: 5
    En Son Mesaj: 28/01/2007, 20:41
  3. curl mu yoksa fopen mi?
    By Reminder in forum PHP
    Cevap: 4
    En Son Mesaj: 05/10/2006, 22:58
  4. curl dizini
    By mmg in forum PHP
    Cevap: 1
    En Son Mesaj: 27/07/2006, 17:06
  5. curl kurulumu?
    By smasherz in forum PHP
    Cevap: 3
    En Son Mesaj: 03/04/2006, 21:55

Bookmarks

Mesaj Yazma Hakları

  • Yeni mesajgöndermezsiniz
  • Cevap yazamazsınız
  • Dosya ekleyemezsiniz
  • Mesajınızı düzenleyemezsiniz