0

Google App EngineのurlFetchサービスを使用してURLを取得し、プロキシサイトを実装しようとしています。TwitterやFacebookのようなサイトは、スタイルシートが欠落しているように見えます。GoogleでさえGoogleロゴが欠落していますが、Yahooはすべて正常に開きます。理由がわかりません。

4

1 に答える 1

1

urlfetchを使用すると、ページのHTMLがフェッチされ、画像、CSS、JavaScript、またはその他のリソースはフェッチされません。

Yahooは、絶対URL(http://www.yahoo.com/image.pngなど)を使用して画像とCSSを指定しているため、おそらく問題ないように見えます。したがって、urlfetchされたページが表示されると、yahoo.comからの完全な画像URLが含まれます。 。誰かがyahoo.comにアクセスできない場合、それらの画像はプロキシされたページにも表示されないことに注意してください。

編集:YahooがCSSをHTMLページ自体にインライン化するように見えます。これは、フェッチされたコピーでCSSが機能する理由を説明しています。

GoogleはCSS/画像なしで表示されます。これは、CSS /画像が相対URL(/image.pngなど)として指定されており、プロキシの/image.pngに画像がないためです。

urlfetchされたページのコンテンツを解析して、フェッチしてプロキシする必要のある画像とCSSを見つける必要があります。/resource.pngなどの相対URLと、www.foo.com/resource.pngなどの絶対URLを必ず処理してください。

于 2010-03-31T17:51:33.497 に答える