ソースはこちら
How do I URl encode something in Node.js?
はじめに
URLに日本語が含まれている場合に環境によってはそのまま日本語を使用した場合に正常なリクエストが生成できない場合があります。
(現に筆者はMacで開発していたNode.jsアプリをWindows Azureにデプロイしたら正常に動かなくなりました)
安全の為にもURLをエンコーディングしてからリクエストを実行したほうが良さそうです。
encodeURIComponent
Node.jsの記事として書いていますが、実はそこまで関係なくて1javascript標準のencodeURIComponentを使えば一発でエンコーディングしてくれます。例えばInstagramのAPIを叩くなら以下のようにAPIのURLが生成できます。
var apiUrl: string = 'https://api.instagram.com/v1/tags/';
apiUrl += encodeURIComponent('何かしらのタグ名') + '/media/recent?client_id=' + clientId;
-
Node.jsとして記事を書いている理由は、筆者が無知で「nodejs uri 日本語 エンコーディング」という感じで検索してもなかなか解決策が見つからなかったからです。 ↩