folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php Bot Yaparken Veri Çektiğimiz Site Geç Yanıt Verirse?



Php Bot Yaparken Veri Çektiğimiz Site Geç Yanıt Verirse?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yigit
    Yigit's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    Hocalar,

    php ile bitcoin fiyatları çekiyorum farklı sitelerden..
    Btcturk, bitstamp gibi siteler tak yanıt veriyor fakat çin menşeili bi siteden fiyat çekerken bazen geç yanıt veriyor sayfa..
    Veriyi çekip txt dosyasına yazdırıyorum cronjob ile.. daha sonra o txt dosyasından siteye çekiyorum böylece site açılırken geç açılmıyor 

    FAKAT

    bu çin sitesi bazen geç yanıt veriyor dolayısıyla txt dosyasına o satır boş olarak kaydoluyor.. 
    Bunun önüne geçmem için mantıken aklıma şu yol geldi
    if deyip bu site geç yanıt verirse txt dosyasındaki bu satırı değiştirme önceki çektiğin veri kalsın.. şeklinde nasıl yaparım?

    Umarım anlatabilmişimdir :)

    (Çektiğim verinin boş olup olmadığını nasıl kontrol ederim?)

    Yigit tarafından 30/Eyl/15 23:34 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    snnyk
    snnyk's avatar
    Kayıt Tarihi: 28/Mayıs/2007
    Erkek

    eğer sayfa yanıt vermiyorsa .txt yi güncelleme hocam sende boş satırı niye yazdırıyon

     


    snnyk.com - code is poetry all that i know...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo

    php curl timeout

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ★★★★
    Genki
    Genki's avatar
    Kayıt Tarihi: 24/Ağustos/2005
    Erkek

    mantığı kendin kurmussun işte

    curl ile veriyi cekiyorsun

    fopen ile dosya acıosun

    fwrite veya fputs ile dosyayı yazıyorsun.

    fwrite ile dosya yazarken gönderdiğin ikinci paramater içerik oluyor

    fwrite($dt,$icerikdegisken);

     

    önceden hazırladığın $icerikdegisken boş ise öldür gitsin.

    Tabi bunu fopenden önce yaparsan daha sağlıklı olacaktır

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tayga
    Tayga's avatar
    Kayıt Tarihi: 21/Haziran/2015
    Erkek

    Php http timeout kullan hocam çekimde belirlediğin saniyeye kadar çekmesini bekler sonra boş döndürür eğer boşsa güncellemezsin

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yigit
    Yigit's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    hocam zaten mantık belli de :)
    kod olarak nasıl yapacağımı bilemedim tam.
    php timeout kullanımını bi araştırayım.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yigit
    Yigit's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    çektiğim verinin boş olup olmadığını nasıl kontrol ederim?

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ★★★★
    Genki
    Genki's avatar
    Kayıt Tarihi: 24/Ağustos/2005
    Erkek

    http://php.net/manual/tr/function.empty.php

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yigit
    Yigit's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek
    Genki bunu yazdı

    http://php.net/manual/tr/function.empty.php

    if (!empty($degisken)) {

    }

    ile çözdüm :) teşekkürler.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EmQceR
    EmQceR's avatar
    Kayıt Tarihi: 14/Kasım/2007
    Erkek

    curl un kendi özelliği var ben bu şekilde kullanıyorum.

    $info = curl_getinfo($ch);

    if ($info['total_time'] >= 5 ){

    curl_close($ch);

    echo "5 saniyeden fazla sürdü ve iptal edildi";

            }else{

                //curl islemleri

    }


    ...
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ★★★★
    Genki
    Genki's avatar
    Kayıt Tarihi: 24/Ağustos/2005
    Erkek

    cron ile veri çekildiği için timeout belki pek sağlıklı olmayabilir.

    sonuçta 5 saniye timeout koysan 6.saniyede de veriyi çekebilir.

    kullanıcı tarafından bir talep ile calıstırılan bir script olmadığı için (cron ile calıstıgı belirtilmiş) curl'e timeout atmak ( en azından 3-5 saniye gibi kısa bir değer atmak ) bir sonraki saniyede cekilebilecek güncel verinin önüne geçmek olur

Toplam Hit: 1261 Toplam Mesaj: 12
php bot