Bir dizi farklı sayfaya erişmek için cURL kullanıyorum. Sayfanın javascript yönlendirmesi olup olmadığını kontrol etmenin zarif bir yolunu istiyorum. Vücutta bir window.location
varlığını kontrol edebilirdim, ancak bir .js dosyasının içinde veya jQuery gibi bir kitaplık kullanıyor olabileceğinden, herhangi bir çözümün mükemmel olmayacağı anlaşılıyor. Herhangi bir fikri olan var mı?Bir web sayfası bir javascript yönlendirmesi varsa algılar
cevap
teşekkürler ben şu örneği çalıştı:
test.js
var page = require('webpage').create();
var testUrls = [
"http://www.google.nl",
"http://www.example.com"
];
function testNextUrl()
{
var testUrl = testUrls.shift();
page.open(testUrl, function() {
var hasRedirect = page.url.indexOf(testUrl) !== 0;
console.log(testUrl + ": " + hasRedirect.toString());
if (testUrls.length) {
testNextUrl();
} else {
phantom.exit();
}
});
}
testNextUrl();
Sonuç: (kolayca) mümkün olan
D:\Tools\phantomjs-1.7.0-windows>phantomjs test.js
http://www.google.nl: false
http://www.example.com: true
Kodunuz JS istemci tarafı yönlendirmelerle nasıl takip ediliyor? Herhangi bir JS yönlendirmesi çalıştırılmadan önce page.open bitmez mi? – CMCDragonkai
Yalnızca komut dosyası ayrıştırılarak yapılamaz. Sadece yürütme size o sayfanın JS'sinin gerçek akışını gösterir.
Yürütmeyi taklit etmenin bir yolu, bir yönlendirme olan farklı düzeylerde kod düzeyine sahip olmaktır. En çok en çok <script>
etiketi altında olacak ve buradaki tüm yönlendirmeler düz bir yönlendirme olacaktır. İşlevler içinde herhangi bir yönlendirme bulunursa, programın yapısını izlemeniz ve bir tahminde bulunmanız gerekir.
Bu, @madphp'nin 'javascript yönlendirmesi' ile ne anlama geldiğine bağlıdır ... Eğer yalnızca bir yönlendirmenin varlığını algılamak istiyorsa, sorunun yorumlarında açıkladığım gibi basit bir ayrıştırıcı iyi çalışır. Eğer var olup olmadığını bilmek istiyorsa VE idam edilecekse, bu tahminleri yapması gerekecek. – renab
Evet, bu bir sorun. Bir işlevde window.location için zararsız bir neden olup olmadığını merak ettim. Mobil sürüme veya flash olmayan bir sayfaya yönlendirmek gibi. – madphp
@renab. Evet ve bu yüzden neden her iki fikir verdim – footy
Curl kullanmasına ve sayfada yönlendirmeye gereksinim duyulmasına bağlı olarak. Gerekli tarama yapmak için PhantomJS (http://phantomjs.org/) gibi başsız çerçeveyi dahil etmek mümkündür. Bir yönlendirmenin gerçekleşip gerçekleşmeyeceğini ve sayfada çalıştırılan diğer herhangi bir javascript'i takip edip edemeyeceğinizi görebileceksiniz. phantomjs işaret için Ikstar için
- 1. Intercept bir web sayfası
- 2. bir web sayfası
- 3. Bir web sayfası
- 4. Pençe Bir web sayfası ve
- 5. JavaScript: Tam bir web sayfası yazdırırken, IE, iFrame'lerin içeriğini sayfa
- 6. JavaScript normal ifadeleri nasıl algılar?
- 7. Web sayfası
- 8. ASP.NET MVC sayfası/alt sayfa yönlendirmesi
- 9. javascript uyarı yönlendirmesi düzgün çalışmıyor
- 10. Web Sayfası Karşılaştırması İçin Bir Araç Nedir?
- 11. C# Penceresine bir Web sayfası gömme
- 12. FireBase'de bir web sayfası nasıl ayarlanır?
- 13. Zaten açılmış bir web sayfası nasıl yenilenir
- 14. iframe içinde bir web sayfası konumunu kapatma
- 15. Servlet kullanılarak basit bir web sayfası oluşturma
- 16. gulp: tomcat7 ana sayfasına yeniden yükleme yönlendirmesi ana sayfası
- 17. Bir web sayfasını nasıl "yıkmak" (Wario Shake it reklamı Youtube'da) gibi bir web sayfası yapmak?
- 18. Web sayfası içine görüntü yapıştırın
- 19. Kayıt Ses Web Sayfası
- 20. Javascript tarayıcı seçimi algılar Otomatik Tamamla değeri
- 21. Web sayfası ekrana uymuyor
- 22. XSS savunmasız web sayfası oluşturulması
- 23. Bir belge kitaplığında saklamaksızın bir sharepoint web sayfası eklemek?
- 24. Facebook paylaşımı başarısını nasıl algılar? Javascript
- 25. Bir Kullanıcı bir ekran görüntüsünü aldığında algılar
- 26. Javascript Kullanarak WordPress Sitesine Bir HTML Sayfası Ekleme
- 27. web sayfası şablonu içeriğin tam yükseklikte yer alması durumunda, 1 satır eksi altbilgisi varsa
- 28. JavaScript ile cihaz yönlendirmesi nasıl algılanır?
- 29. Yalnızca bir öğe ile bir numpy dizisinin uzunluğunu nasıl algılar?
- 30. Açılır pencereyi açmadan web sayfası nasıl yazdırılır?
Değil curl javascript'i desteklemediği için basit bukle istekleri. – PeeHaa
Evet, yürütmeyi değil, bir ayrıştırıcıda işaretlemeyi çalıştırmayı düşünüyordum. – madphp
Kod harici işlevinde ve sayfa yüklemesinde çağrılan işlevler içinde window.location öğesini aramanız gerekecektir. Tamamen, tüm dosyalar da dahil. – Ranty