MacOSのcurlでhttpsを指定するとエラーがでた。

最近、LINEの通知をコマンドラインから送れるという以下の記事を見つけたため、ちょっとやってみた。

参考サイト:

 

その際に、Macの端末からcurlでhttps通信を行おうとすると curl: (35) Server aborted the SSL handshake とエラーが出てきたのでその解決方法

 

問題

以下、LINE Notifyでメッセージを送るサンプル

```
# LINEにコマンドラインからメッセージを送るコマンド
curl -X POST -H 'Authorization: Bearer アクセストークン' -F 'message=foobar' https://notify-api.line.me/api/notify ⏎
# 以下のようなエラーが表示
>> curl: (35) Server aborted the SSL handshake
```

 

どうやらこれは、Macのcurlのバグ?らしいので(実際よくわからない…)、Homebrewで新たにcurlをインストールすることによって解決した。

 

curlのインストール(Homebrew導入済み環境)

```
# curlのインストール場所(brewでインストール前)
which curl
>> /usr/bin/curl
# バージョン確認
curl --version ⏎
>> curl 7.49.1 (x86_64-apple-darwin16.0) libcurl/7.49.1 SecureTransport zlib/1.2.8
# 新たにbrewでcurlのインストール
brew install curl
>> ...(インストールメッセージ)
# 途中で以下のようなメッセージが表示されるのでcurl-7.50がインストールされるのかな〜と思ってたら…
>> ==> Pouring curl-7.50.3.sierra.bottle.tar.gz
# バージョン確認
curl --version
>> curl 7.49.1 (x86_64-apple-darwin16.0) libcurl/7.49.1 SecureTransport zlib/1.2.8
which curl
>> /usr/bin/curl
# …あれ変わってない…?
```

が、しかし…。これで無事に先程のLINEにメッセージを送るコマンドを実行することができました! 関連ファイルが更新されたとかあったのかな…?詳しくメッセージ見てないからわからないけど…。

 

とりあえず、無事にコマンドラインからcurlを用いてメッセージを送信することができました〜♪

```
curl -X POST -H 'Authorization: Bearer アクセストークン' -F 'message=foobar' https://notify-api.line.me/api/notify
{"status":200,"message":"ok"}
```

LINE Notifyではグループにもメッセージが使えるみたいで面白そうなので、時間がある時に詳しく触ってみたいと思います。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-13-22-03-02

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください