Ben SimpleXML kullanarak bir facebook besleme ayrıştırma sorun yaşıyorum [kapalı]

1 Cevap php

http://www.facebook.com/feeds/share_posts.php?id=207302593&viewer=207302593&key=d95b2de790&format=rss20

Yukarıdaki linki Facebook benim paylaşılan mesajların için URL. Ben simplexml_load_file için bu URL yüklediğinizde () hataların bütün bir sayfası sağlar. Facebook HTML yerine besleme dışarı tükürme gibi hataları bakarak görünüyor. Ben bu bir kimlik doğrulama sorunu olduğunu düşündüm ama ben facebook üzerinden kaydedilir ve benim tarayıcıda için yem url yüklü ve ben yem görmek mümkün oldu. İşte ben alıyorum hatalardır. Herhangi bir fikir? Teşekkürler!

A PHP Error was encountered

Severity: Warning

Message: simplexml_load_file() [function.simplexml-load-file]: http://www.facebook.com/feeds/share_posts.php?id=207302593&viewer=207302593&key=d95b2de790&format=rss20:12: parser error : AttValue: " or ' expected

Filename: models/Stream.php

Line Number: 55

A PHP Error was encountered

Severity: Warning

Message: simplexml_load_file() [function.simplexml-load-file]: </script><noscript> <meta http-equiv=refresh content="0; URL=?_fb_noscript=1" />

...

1 Cevap

"Besleme" Facebook yeniden tanımlamak için bir yoldur. Bu bir şans verin ve indirilen sayfasına bir göz atın

echo file_get_contents('http://www.facebook.com/feeds/share_posts.php?id=207302593&viewer=207302593&key=d95b2de790&format=rss20');

Facebook koklama User-Agent yapıyor, ve onun sayfalarını işleyebilir düşünmüyor (bu durumda PHP tarayıcısı) herhangi bir "tarayıcı" reddediyor gibi görünüyor. Onlar beslemeleri Bu yapıyoruz ki biraz garip, ama Zuckerberg gizemli yollarla çalışır. (Ekran kazıma önlemek için bunu yapıyor bir şey, ama beslemeleri örtülü makineler tarafından okunacak içindir)

Facebook destekleyen bir tarayıcı maç için kullanıcı aracısı dizesini ayarlamak isteyeceksiniz. Ben (kıvırmak http başlıklarını ayar seçenekleri bir ton vardır) dosyasını indirmek için bu ben kullanıcı curl yapmak gerektiğinde.

Kıvırmak bir şey değil Eğer bir ini ayarı ile PHP'nin varsayılan kullanıcı-agent kılabilirsiniz

    ini_set('user_agent', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');