FOMOCO adlı üyeden alıntı:
mesajı görüntüle
php bot karşı siteye bağlanmıyor yada açmıyor
20
●3.763
- 26-01-2016, 01:14:27Maçları direk kaynakta vermeyip sayfa yüklendikten sonra ajaxla çektiriyor olabilirler bu sebepten maçlar ekrana düşmüyor olabilir.FOMOCO adlı üyeden alıntı: mesajı görüntüle
Chromeun öğeyi incele kısmı vb. bir araç açıkken sayfayı f5 yapıp network kısmına gelip filter kısmından xhr yi seçip bakarsanız sitenin ajax requestlerini inceleyebilirsiniz. (http://prntscr.com/9uubd5) Örneğin verdiğiniz linke baktığımda maçları http://www.sahadan.com/AjaxHandlers/...1&np=1&sport=1 bu şekilde bir urlden ajaxla çektiriyorlar. Ama urlye direk girildiğinde doğal olarak güvenlik amacıyla çalışmıyor. İzlemeniz gereken yol,
Öncelikle http://www.sahadan.com/genis_ekran_iddaa_programi/ bu urlye bir curl isteği atıp sitenin güvenlik amaçlı yazdığı cookieleri curlunuze dahil edip sonrasında curl oturumunuzu kapatmadan ajax ile maçları çektiği urlye onların istediği header bilgileriyle istek atarsanız maçları çekebilirsiniz. Birde aynı ip den gelen şüpheli istekleri engelliyor olabilirler, bu sebepten dolayı farklı bir kaç proxy ipsi edinip random ipler üzerinden istek göndermeniz yararınıza olacaktır.
---
Konu dışı:
@bluexpres; cloud flare benimde başımın belası şu şekilde bir çözüm ürettim, konuya cevap yazarken gelişmiş mesaj kısmından cevap yazarsanız captchadan sonra beyaz ekranda kaldığınızda tarayıcıdan iki kere geri yaparak yazdığınız mesajın silinmemiş haline ulaşabiliyorsunuz
- 26-01-2016, 04:49:27İlk mesajımda zaten belirtmiştim. Bu aşamayı geçtikten sonra karşınıza yeni bir aşama gelecek. O da https://www.r10.net/1071301862-post12.html şurada yaşar beyin dediği gibi açılan sayfanın request attığı diğer sayfa aşaması. Yaşar bey açıklamış olabildiğince. Bot işi karşı taraf içeriği korumaya çalıştıkça biraz uzar. Ama aşılmaz değildir hiç bir zaman. Sadece biraz geri mühendislik yapmanız gerekiyor.
@yasarkemaldag bey teşekkür ederim. alıntı ile yanıt verdiğimde geri geldiğimde bazen metinler gitmemiş oluyor. Ama bazen de gidiyor. Bununla uğraşmak zorunda olan biz değiliz. Şurda 2dk yardımcı olmaya çalışıyoruz ama tadı kalmıyor. Şu metni ctrl+c ne olur ne olmaz
iyi çalışmalar.
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 04:49:27 -->-> Daha önceki mesaj 04:45:34 --
curl 'http://www.sahadan.com/AjaxHandlers/ProgramComboHandler.ashx?sport=1&type=6&sortValue=DATE&week=16006&day=-1&sortDir=1&groupId=-1&np=0' -H 'Host: www.sahadan.com' -H 'User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0' -H 'Accept: */*' -H 'Accept-Language: en-GB,en;q=0.5' --compressed -H 'X-Requested-With: XMLHttpRequest' -H 'Referer: http://www.sahadan.com/genis_ekran_iddaa_programi/' -H 'Cookie: am_cookie_test=true' -H 'Connection: keep-alive'
curl 'http://www.sahadan.com/AjaxHandlers/ProgramDataHandler.ashx?type=6&sortValue=DATE&week=16006&day=-1&sort=-1&sortDir=1&groupId=-1&np=0&sport=1' -H 'Host: www.sahadan.com' -H 'User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0' -H 'Accept: */*' -H 'Accept-Language: en-GB,en;q=0.5' --compressed -H 'X-Requested-With: XMLHttpRequest' -H 'Referer: http://www.sahadan.com/genis_ekran_iddaa_programi/' -H 'Cookie: am_cookie_test=true' -H 'Connection: keep-alive'
linklere yukarıdaki header'lar ile giderek sayfaları çekebilirsiniz. Tabi şimdi de yeni bir aşama çıkacak karşınıza. Gelen
Adelaide United','2690',4,'11:00','22.01.2016','1','4','160','0','1','4','','1','1.85','3.20','2.90','1.17','1.13','1.52','1.80','1.55','70793',{tId:70793},'AVUS','127','638','4.00','1.75','2.40','16.00','2.50','2.10','3.35','3.55','4.00','1.50','1.40','2.05','0','1.35','2.15','4.00','1.05','1.35','2.15','0','35488'],[2132816,'Y.Malatyaspor',7297,'Gaziantep B.Şşeklindeki yanıtları yorumlamak
Kolaylıklar.
FOMOCO adlı üyeden alıntı: mesajı görüntüle - 26-01-2016, 19:41:54hocam bu kodlara hangi yol ile ulaştınız? normalde php biliyorum fakat curl inadına bilmiyorum cur header ile ilgili sizin verdiğiniz kodlu şekilde açıklayıcı bir kaynakta bulamadımbluexpres adlı üyeden alıntı: mesajı görüntüle
- 26-01-2016, 20:52:33o kodlara bir önceki mesajımda tarif ettiğim gibi örneğin chromeun network kısmından ulaşabilirsiniz.FOMOCO adlı üyeden alıntı: mesajı görüntüle
Maç listesini getiren xhr requestini bulduktan sonra üzerine tıklayın sağda açılan kısımda headers sekmesi altında, requestin header bilgileri ve cookie bilgilerine ulaşırsınız. (http://prntscr.com/9v62bm) Php üzerinde ki curl isteğinizi bu header bilgilerini ve cookieleri sağlarsanız aynı şekilde maç listesi karşınıza gelecektir. - 27-01-2016, 03:53:32hocam o verdiğin kodları dizi çeklindemi ekliyecembluexpres adlı üyeden alıntı: mesajı görüntüle
- 27-01-2016, 15:38:55evet array içinde tanımlamanız gerek. verdiğim örnek kodda olduğu gibi talepte hangi header'lar kullanılıyorsa onları dizi şeklinde CURLOPT_HTTPHEADER içerisinde tanımlayacaksınız. yasar bey network'den nasıl göreceğinizi anlatmış. oradaki header'lara bakın array içinde
'header : değer',
'header : değer',
şeklinde hepsini tanımlayın.
çok karmaşık bi şey değil aslında bu. biraz bakarsanız yaparsınız. yapamıyorsanız bu linklerden gelecek yanıtı parse ederken bundan daha çok uğraşacağınızı tahmin ediyorum.
kolaylıklar
FOMOCO adlı üyeden alıntı: mesajı görüntüle - 27-01-2016, 16:31:30hocam deddiğiniz gibi tanımlıyorum ama değişen hiçbirşey yokbluexpres adlı üyeden alıntı: mesajı görüntüle
<?php function verial($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( /**/ 'Request URL:http://www.sahadan.com/AjaxHandlers/ProgramComboHandler.ashx?sport=1&type=6&sortValue=DATE&week=16007&day=27.01.2016&sortDir=-1&groupId=-1&np=1', 'Request Method:GET', 'Status Code:403 Forbidden', 'Remote Address:178.162.216.38:443', 'content-length:519', 'content-type:text/html', 'date:Wed, 27 Jan 2016 14:15:28 GMT', 'server:CCAcc (0.9.1/anku-s7)', 'status:403 Forbidden', 'version:HTTP/1.1', ':host:www.sahadan.com', ':method:GET', ':path:/AjaxHandlers/ProgramComboHandler.ashx?sport=1&type=6&sortValue=DATE&week=16007&day=27.01.2016&sortDir=-1&groupId=-1&np=1', ':scheme:http', ':version:HTTP/1.1', 'accept:*/*', 'accept-encoding:gzip, deflate, sdch', 'accept-language:tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4', 'origin:http://localhost', 'referer:http://localhost/bot/', 'user-agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36', 'sport:1', 'type:6', 'sortValue:DATE', 'week:16007', 'day:27.01.2016', 'sortDir:-1', 'groupId:-1', 'np:1' )); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36"); curl_setopt($ch, CURLOPT_REFERER, "https://www.google.com.tr/?gws_rd=ssl"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch); return $data; } $verial = verial("http://www.sahadan.com/genis_ekran_iddaa_programi/"); echo $verial; ?>
