Diğer sitelerden veri almak için Javascript kullanmak mümkün?

5 Cevap php

Başka bir web sitesinden veri almak için Javascript kullanarak bir web sayfası için mümkün mü? Benim durumumda hesaplamalar için almak ve bir grafik grafik istiyorum. Ama bu güvenlik kaygıları nedeniyle mümkün olup olmadığından emin değilim. Bir hayır hayır kabul ama ben etrafında işi söylenmeden seviniriz etrafında bir çalışma mevcut ise. Ben mümkünse sunucu tarafında bu bilgi toplamak zorunda istemiyorum.

Herhangi ve tüm yardım takdir edilmektedir.

5 Cevap

JSONP formatında ve cross-site istekleri (http://en.wikipedia.org/wiki/JSON # JSONP) hakkında bilgi edinin.

Sen sitelerinden bilgi almak ve sizin Javascript bunu sağlayacak olan sunucu tarafında "PHP-vekil" komut dosyası kullanmak gerekebilir.

Tek güvenilir yolu proxy olarak "sizin" webserver hareket sağlamaktır. PHP harici bir sitede bir HTTP isteği yangın curl() kullanın ve sonra sadece yanıtı yankı.

Sen nedeniyle same origin policy. Böyle bir <script> etiketi URL koyarak, etrafında almak için bazı hileler yapmak, ama sizin durumunuzda olabilir ona başka bir sunucudan veri çekemez Sadece HTML ayrıştırma için işe yaramaz.

Veri sunucu tarafı ayrıştırmak için, simple_dom_html kullanın. o zaten JavaScript yapmaktan daha kolaydır.

Bunu yapmak mümkün olabilir basit bir yolu inline iframe kullanmaktır. Web sayfası Eğer hiçbir başlıkları olan verileri alıyorsanız, ya da (bir görüntü ya da SWF söylemek) olarak çekilmesi verileri ayırabilirsiniz, bu işe yarayabilir.

Bir (php-) proxy kullanarak, imkansız olarak kullanılan javascript çapraz etki alanı olduğu için geçici bir çözüm oldu.

jsonp tamamen, bu kod arama işlevini belirterek, (o JSONP destekleyen bir API, google, twitter, yahoo, ... do gibi büyük webplayers bir sürü varsa) başka bir sunucudan javascript istemek sağlayan bu değişiklikleri bu cevap üzerinde hareket tetiklenebilir gerekmektedir.

javascript yanıt içerecektir:

  • Eğer tanımlanmış bir geri çağırma fonksiyonu için bir çağrı
  • bir javascript nesne olarak gerçek yük.

gibi çerçeveler jquery offer easy support for jsonp out of the box.

Eğer ham verileri aldıktan sonra size anında grafikler oluşturmak için google chart tools içine kravat ve webapp onları eklemek olabilir.

Ayrıca dikkate değer bazı modern tarayıcılarda destek XMLHttpRequest Access Control için destek.

Bir web sayfası üzerinden erişmeye çalıştığınız servis sağlayıcı bu kadar set varsa, XMLHttpRequest için çok basit bir çağrı ve sen istekleri için özellikle yararlıdır JSONP için ihtiyaç olmadan (bu sitede kaynaklarına erişimi alacak GET değil, yani POST, HEAD vb)