2010-03-31 5 views
0

J'essaie de récupérer des URL à l'aide du service urlFetch de Google App Engine et d'implémenter un site proxy. Des sites comme Twitter et Facebook apparaissent défigurés comme si la feuille de style leur manquait, même Google ne possède pas le logo de Google, mais Yahoo s'ouvre très bien, je ne comprends pas pourquoi. Lorsque vous utilisez urlfetch, il récupère le code HTML de la page, et aucune des images, CSS, JavaScript ou autres ressources.Impossible d'ouvrir Twitter en utilisant urlfetch de Google App Engine

Répondre

1

Yahoo semble très bien parce qu'ils spécifient leurs images et CSS en utilisant des URL absolues (par exemple, http://www.yahoo.com/image.png), donc quand votre page urlfetch'd affiche, il comprend des URL d'images complètes de yahoo.com. Gardez à l'esprit, quand quelqu'un n'a pas accès à yahoo.com, ces images n'apparaîtront pas non plus sur votre page mandatée.

edit: Il semble que Yahoo intègre son CSS dans la page HTML elle-même, ce qui expliquerait pourquoi cela fonctionne dans votre copie récupérée.

Google apparaît sans CSS/images parce que leurs CSS/images sont spécifiées comme des URL relatives (par exemple, /image.png), et votre proxy ne dispose pas d'une image au /image.png

Vous aurez avoir à analyser le contenu de la page urlfetch'ed pour trouver des images et des CSS qui doivent être récupérés et mandatés aussi bien. Assurez-vous de gérer les URL relatives comme /resource.png ainsi que les URL absolues comme www.foo.com/resource.png.

+0

ouais, j'ai pensé que plus tard. Je suppose que je peux aller chercher le css et le placer en ligne où il n'est pas, mais comment puis-je aller sur les images? –

+0

Lorsque vous trouvez une image dans la page, récupérez l'image et stockez-la dans votre proxy. Ensuite, réécrivez la propriété de la page pour qu'elle pointe vers votre image par proxy au lieu de l'original. Pour simplifier, je ferais cela avec CSS aussi, et d'autres ressources. –

+0

et je suppose que les liens des images affichées en utilisant CSS devront être modifiés aussi, c'est un sacré travail! –