Domanda

Sto cercando di recuperare gli URL utilizzando il servizio UrlFetch di Google App Engine e implementare un sito proxy. Siti come Twitter e Facebook appaiono sfigurati come se si stanno perdendo il foglio di stile, anche Google non è presente il logo di Google, ma Yahoo apre tutto bene, non riesco a capire il perché.

È stato utile?

Soluzione

Quando si utilizza UrlFetch, si recupera il codice HTML della pagina, e nessuna delle immagini, CSS, JavaScript, o di qualsiasi altra risorsa.

Yahoo guarda bene presumibilmente perché specificano le loro immagini e CSS utilizzando URL assoluti (ad esempio, http: // www.yahoo.com/image.png ), in modo che quando i tuoi visualizzata la pagina urlfetch'd, include gli URL di immagini complete da yahoo.com. Tenete a mente, quando qualcuno non ha accesso a yahoo.com, quelle immagini non appariranno sulla tua pagina Proxied sia.

modifica:. Sembra che Yahoo inlines loro CSS nella pagina HTML stessa, il che spiegherebbe perché funziona nella vostra copia inverosimile

Google appare senza CSS / immagini, perché i loro CSS / immagini sono specificate come URL relativi (ad esempio, /image.png), e il proxy non avere un'immagine a /image.png

Si dovrà analizzare il contenuto della pagina urlfetch'ed per trovare immagini e CSS che devono essere recuperati e proxy pure. Basta essere sicuri di gestire gli URL relativi come /resource.png così come URL assoluti come www.foo.com/resource.png.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top