[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Why `w3m-check-refresh-attribute' decodes entities in url?
- From: Katsumi Yamaoka <yamaoka@xxxxxxx>
- Date: Fri, 21 Sep 2007 20:14:16 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 09633
`w3m-check-refresh-attribute' は meta タグで refresh を指定され
たときに飛び先の url を抽出するための関数です。
ニューヨークタイムズは記事を無料で公開する代わりに広告でかせぐこ
とにしたようで、記事の url を開くとまず全面広告が現れて、10秒後
に本来の記事に refresh されるようになっている[1] のですが、飛び
先の url に以下のような entity まがいの文字列が含まれています[2]。
<meta http-equiv=refresh content="8;url=/2007/09/20/science/20foss\
il.html?ei=5088&en=5571610a49ff5906&ex=1347940800&adxnnl=1&partner\
=rssnyt&emc=rss&adxnnlx=1190281743-dIyIGglNew7j8w0caVNw7g">
`w3m-check-refresh-attribute' は `w3m-decode-entities-string' で
これをデコードするので、"&part" の部分が "∂" のような文字に変換
されてしまいます。それを含む url にアクアセスする際にエンコード
されますが、元の url と同じにはなりません[3]。
Meta タグが指定するリダイレクト先の url 文字列は、そのまま使えば
良いと思うのですが、いかがなものでしょう? 実際 sb-nytimes.el で
はきたない手を使ってそうしています。
[1] Shimbun は refresh の時間を無視しています。
[2] そもそも NYTimes が悪い?
[3] それでもアクセスできる場合もあるのが不可解。
--
山岡