2007-07-13 [長年日記]

URLハンドラに渡されるURL

昨日、mailtoなどの既知のURLではURLとしてエスケープ処理が行われた後でURLハンドラに渡されると書きましたが、Asynchronous Pluggable Protocolsのハンドラをインストールして、IInternetProtocolInfoを実装しParseUrlを実装するとURLの正規化ができるようです(まだ試していないので本当かどうかは分かりません)。既存のプロトコルに関してはデフォルトでハンドラが入っているのでエスケープされるということですね。

これがその通りならば、URLハンドラをインストールするならプロトコルハンドラもインストールしてURLの正規化を行うようにする、というのを守れば問題がなくなりますし、IE(というかOS?)ではなくてアプリケーション側の問題という話になるのではないでしょうか。もっとも、プロトコルハンドラがインストールされていなかったらデフォルトでURLのエスケープをやってくれても良いような気はしますけど。

[]