HTTP Request
テンプレートの再構築時に HTTPリクエストを行いコンテンツを取得するプラグイン。外部サーバとの連携が必要な時に活用できます。
対応バージョン:Movable Type 6 以降
配布価格:11,000円(税込)
テンプレートの再構築時に HTTPリクエストを行いコンテンツを取得するプラグイン。外部サーバとの連携が必要な時に活用できます。
対応バージョン:Movable Type 6 以降
配布価格:11,000円(税込)
ウェブサイトを作成する際に、ページの一部に関連する他のウェブサイトが提供するコンテンツを表示したい、ということはありませんか?
手軽な方法として、jQuery の $.ajax や Fetch API など、JavaScript の処理で他のウェブサイトからコンテンツを取得する、という手法がよく紹介されていますが、JavaScript によって表示されたコンテンツは SEO 的に評価されにくい、というデメリットがあります。
HTTP Request プラグインでは、テンプレートの再構築時に指定した URL からコンテンツを取得してページの一部として出力する機能を提供します。
取得されたコンテンツは静的なコンテンツとして表示されるため、ウェブサイト間のコンテンツの連携をSEOフレンドリーに実現することができます。
HTTP Request プラグインが提供する <mt:HTTPRequest /> ファンクションタグにより、テンプレートの再構築時に HTTPリクエストを行うことができます。
例えば https://example.com/の HTML の内容を取得する場合は以下のようにします。
<mt:HTTPRequest
url="https://example.com/"
/>
取得した内容はそのまま文字列として出力されるため、変数に格納して利用したい場合は、setvarモディファイアを使用してください。
<mt:HTTPRequest
url="https://example.com/"
setvar="payload"
/>
<mt:HTTPRequest /> は、デフォルトではGET リクエストを送信しますが、method モディファイアを利用することで、以下のようにPOSTやその他のリクエストメソッドを指定できます。
<mt:HTTPRequest
method="POST"
url="https://example.com/"
setvar="payload"
/>
また、リクエストヘッダやリクエストボディなど、さまざまな API と連携する際に設定するパラメータはparamsモディファイアを使って指定できます。以下の例ではContent-Type: application/jsonリクエストヘッダと、JSON 形式のリクエストボディを指定しています。
<MTSetHashVar name="params">
<MTSetHashVar name="headers">
<mt:SetVar name="Content_Type" value="application/json" />
</MTSetHashVar>
<MTSetVarBlock name="content">
{"foo": "bar baz"}
</MTSetVarBlock>
</MTSetHashVar>
<mt:HTTPRequest
method="POST"
url="https://example.com/"
setvar="payload"
/>
これはcurlコマンドの以下と同等の処理です。
curl -X POST -H "Content-Type: application/json" -d '{"foo": "bar baz"}'
なお、レスポンスヘッダのContent-Typeにapplication/jsonが設定されている場合、
レスポンスボディは JSON としてデコードされたものが返されます。
そのほかの機能については、プラグインに同梱されている README_ja.md をご確認ください。
なお、レスポンスヘッダのダウンロードしたファイルを解凍すると、以下のようにファイルが展開されます。
mt-plugin-HTTPRequest-product-v1.1.0/
├── plugins/
│ └── HTTPRequest/
└── README_ja.md
展開されたファイルの「plugins」フォルダの中にある「HTTPRequest」フォルダをMovable Type の「plugins」ディレクトリにアップロードしてください。
$MT_HOME/plugins/HTTPRequest
ソフトウェア利用規約をご覧ください。