PHP bir çerez özellikli tarayıcı benzetme

3 Cevap php

Nasıl bir web sayfası açmak ve PHP kullanarak kurabiye alabilir?

The motivation: I am trying to use feed43 to create an RSS feed from the non-RSS-enabled HighLearn website (remote learning website). I found the web-page that contains the feed contents I need to parse, however, it requires to login first. Luckily, logging in can be done via a GET request so it's as easy as fopen()ing "http://highlearn.website/login_page.asp?userID=foo&password=bar" for example. But I still need to get the cookies generated when I logged in, pass the cookies to the real client (using setcookie() maybe?) and then redirect.

3 Cevap

Bir sunucu tarafı HTTP istemci için cURL modülü kullanmanız gerekir. Bu birden fazla isteği çerezleri devam sağlayacaktır. Ayrıca donatılacak istekleri (curl_multi) ve şeffaf taşıma yönlendirmeler gibi bazı diğer temiz şeyler yapar.

Bu kullanıcıya bir oturum dönen gelince, ben bu mümkün olduğunu sanmıyorum. Siz diğer alanların çerezleri üzerine yazmak mümkün olması gerekir. Bu büyük güvenlik sorunlarına neden olur, bu yüzden hiçbir tarayıcı uygulamak olacaktır.

Ben ekranın bu tür önce kazıma için SimpleTest gelen Scriptable Browser bileşeni kullandım. Bir tarayıcı simüle oldukça iyi bir iş yok.

Eğer (bu may mümkün olsa da sitenin güvenlik düzeyine bağlı olarak,) gerçek istemci üzerine oturumu geçmek gerekmez - Siz sadece PHP-komut hedefi arasında bir proxy sağlayabilirsiniz site ve son kullanıcı.

Web siteleri aynı etki olmadıkça yazık ki, bu mümkün değildir. Çerezler onlar kaynaklanan etki geçerlidir. Ayrıca, alt etki alanları gibi farklı alanları saymak. Aksi takdirde, (ben çok php kullanılan değil akılda tutmak) Eğer yanıt dışarı başlıklarını çekin ve istemciye çerez dışarı kopyalayabilirsiniz.