• 06-12-2017, 19:57:03
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar,
    http://www.aski.gov.tr/tr/Su_Kesintileri.aspx adresinden su kesintilerini çekmek istiyorum curl ve file_get_contents fonksiyonlarıyla çekmeyi denedim, denemediğim yöntem kalmadı yardımcı olabilir misiniz ?
  • 06-12-2017, 20:00:35
    #2
    Curlle sorunsuz bağlanılabiliyor, eksik parametre göndermiş olabilirsiniz
  • 06-12-2017, 20:02:03
    #3
    yelhosting adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,
    http://www.aski.gov.tr/tr/Su_Kesintileri.aspx adresinden su kesintilerini çekmek istiyorum curl ve file_get_contents fonksiyonlarıyla çekmeyi denedim, denemediğim yöntem kalmadı yardımcı olabilir misiniz ?
    Aşağıdaki yöntemle denedim ve veri çekebildim ben. $result değişkeni üzerinden devam edebilirsiniz.

    <?php
    header('Content-Type: text/html; charset=utf8_turkish_ci');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.aski.gov.tr/tr/Su_Kesintileri.aspx");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
    $headers = array();
    $headers[] = "Upgrade-Insecure-Requests: 1";
    $headers[] = "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36";
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    echo $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error:' . curl_error($ch);
    }
    curl_close ($ch);
    ?>
  • 06-12-2017, 20:09:04
    #4
    HTTP ERROR 500 hatası veriyor malesef muhtemelen sunucudan veya eksik parametreden kaynaklanıyor. Ben biraz daha uğraşayım teşekkürler ilginize.
  • 07-12-2017, 11:36:40
    #5
    Şu şekilde veriler çekilebiliyor.
    Biraz düzenleme ve geliştirme ile dilediğiniz gibi verileri çekebilirsiniz.
    include komutu ile de istediğiniz sayfaya bağlayabilirsiniz.
    Array'i arttırarak diğer bilgileri çekebilirsiniz.
    <?php
    function ara($bas, $son, $yazi)
    {
        @preg_match_all('/' . preg_quote($bas, '/') .
        '(.*?)'. preg_quote($son, '/').'/i', $yazi, $m);
        return @$m[1];
    }
    $link = "http://www.aski.gov.tr/tr/Su_Kesintileri.aspx";
    $icerik = file_get_contents($link);
    $bir = ara("<br />", "</td>", $icerik);
    { ?>
        <table class="icerikler_Tablo" cellpadding="0" cellspacing="0" border="1">
                                  
                                  <tr>
                                      <td class="Su_kesintileri_baslik" colspan="4">
                                          <br />
                                          * Arıza giderilme saati ev veya işyerinizin konumuna ve arıza büyüklüğüne göre birkaç saat kadar farklılık gösterebilir.
                                       <br />
                                      <br />
                                       <br />
                                      </td>
                                     
                                  </tr>
                                  <tr>
                                      <td class="Su_kesintileri_baslik"> ilçe</td>
                                      <td class="Su_kesintileri_baslik"> Arıza Zamanı</td>
                                      <td class="Su_kesintileri_baslik"> Tahmini Onarım Zamanı</td>
                                      <td class="Su_kesintileri_baslik" > Açıklama</td>
                                  </tr>
                               
                                  <tr>
                                      
                                      <td style="width:15%" class="kesintileri_konu"><br /><?php echo $bir[0]?></td>
                                      <td style="width:14%" class="kesintileri_konu"><br /><?php echo $bir[1]?></td>
                                      <td style="width:14%" class="kesintileri_konu"><br /><?php echo $bir[2]?></td>
                                      <td style="width:35%" class="kesintileri_konu"><br /><?php echo $bir[3]?></td>
                                      
                                  </tr>
                               
                                
                               
                               <tr>
                                 <td style="border:0;" colspan="4">
                                     <br />
                                     
                                
                                     <br />
                                
                                     <br />
                                    
                                     <br />
                                     <br />
                                   </td>
                                     
                                  </tr>
                           </table>
    <?php } ?>
  • 08-12-2017, 17:50:09
    #6
    <?php
    header('Content-Type: text/html; charset=utf8_turkish_ci');
    function siteConnect($site)
    {
    $ch = curl_init();
    $hc = "";
    curl_setopt($ch, CURLOPT_REFERER, '');
    curl_setopt($ch, CURLOPT_URL, $site);
    curl_setopt($ch, CURLOPT_USERAGENT, $hc);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $site = curl_exec($ch);
    curl_close($ch);
    preg_match_all('@<tr>(.*?)</tr>@si',$site,$kesinti);
    //echo "<pre>"; print_r($kesinti); echo "</pre>";
    echo $kesinti[0][3];
    }
    $giris = siteConnect('http://www.aski.gov.tr/tr/Su_Kesintileri.aspx');
    echo $giris;
    ?>
    Bu kodla çözmüştüm sorunu ilginize teşekkür ederim. İlerde lazım olan birisi olursa kullanabilir.