技術日記
Amazon Reloaded Pluginで空白(半角スペース)を含む検索が成功しないバグEdit

なぜかAmazon Reloaded Pluginで半角スペースを含む検索を行っても結果が返ってこないんで、ソースを見てみたところ、

$url .= 'Keywords='.urlencode(str_replace(' ', '%20', $terms)).'&';
となっていたんで、
$url .= 'Keywords='.rawurlencode($terms).'&';
と修正したら半角スペースを含む検索も動くようになった。urlencodeで半角スペースが「%20」ではなく「+」に変換されてしまうのを避けたかったのかな?

でも、Amazon Product Advertising APIでこの処理の後に電子署名をつけたりしているんで、その辺対応に変更する際に、なんかおかしくなったのではないかと推測。

signUrl関数の中でもなんか一生懸命それ関係の置換処理とか行ってるけど、素直にrawurlencode関数の方を使っておくようにすれば、全体的にもっときれいに書けそうだ。

Published At2010-05-12 15:28Updated At2019-12-30 15:32