[slack]Incoming WebhooksのSampleをWindowsで実行時"curl: (6) Could not resolve host: application"エラー

カテゴリ: Windows | タグ: ,

slackでIncoming Webhooksの設定を行うと、以下のように動作確認用としてHello Worldのメッセージを出力する為のcurlコマンドのサンプルが表示されます。

ですが、これをWindowのコマンドプロンプトから実行すると、以下のようにCould not resolve host: applicationエラーが出力されます

c:\> curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/xxxxxxxxxxxxxxxxxxxxxxxx
curl: (6) Could not resolve host: application
invalid_payload

これは、提示されたコマンドがLinux向けのものになっており、また、LinuxとWindowsで文字列クォートのルールが異なっているためです。

解決方法

以下のようにクォートの仕方を変更すればWindowsからもcurlコマンドでメッセージの送信が行えます。

c:\> curl -X POST -H "Content-type: application/json" --data "{\"text\":\"Hello, World!\"}" https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/xxxxxxxxxxxxxxxxxxxxxxxx
ok

Windowsで実行する時は、下記の2点に気をつければよいです。

  • スペースを含むパラメータはダブルクォート「"」でくくる。
  • ダブルクォートの中にあるダブルクォートは、バックスラッシュ・円記号「\」でエスケープする

メッセージ内に「"」が多くてエスケープが大変な場合は、別ファイルにした方が分かりやすくなる場合もあります。curlコマンドでは@filenameでファイルの内容を渡すことができるので、この機能を利用します。

echo {"text":"Hello world!"} > slack_message.txt
curl -X POST -H "Content-type: application/json" --data @slack_message.txt https://hooks.slack.com/services/...
del slack_message.txt

Amazonでおトクに買い物する方法
AmazonチャージでポイントGET


Amazonは買いもの前にAmazonギフト券をチャージしてポイントをゲットしないと損!

こちらもおススメ

2 thoughts on “[slack]Incoming WebhooksのSampleをWindowsで実行時"curl: (6) Could not resolve host: application"エラー

コメントを残す

メールアドレスが公開されることはありません。