Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

RubyでPOSTリクエストするには?(2)

昨日Macで行った「RubyでPOSTリクエストするには? - Mae向きなブログ」を、最近は電源を入れられることもなく、ホコリをかぶっているRaspberry Pi上のArch Linuxでやってみたところ、以下のようなエラーが発生しました。SSL証明書関係のエラーなのでしょうか?

[root@alarmpi ~]# ruby post_prac.rb
/usr/lib/ruby/2.4.0/net/protocol.rb:44:in `connect_nonblock': SSL_connect returned=1 errno=0 state=error: certificate verify failed (OpenSSL::SSL::SSLError)
    from /usr/lib/ruby/2.4.0/net/protocol.rb:44:in `ssl_socket_connect'
    from /usr/lib/ruby/2.4.0/net/http.rb:948:in `connect'
    from /usr/lib/ruby/2.4.0/net/http.rb:887:in `do_start'
    from /usr/lib/ruby/2.4.0/net/http.rb:876:in `start'
    from /usr/lib/ruby/2.4.0/net/http.rb:1407:in `request'
    from post_prac.rb:27:in `<main>'

対処したこと

参考サイトを見ながら以下のように対処しました。

[root@alarmpi ~]# ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE"
"/etc/ssl/cert.pem"
[root@alarmpi ~]# wget -O /etc/ssl/cert.pem http://curl.haxx.se/ca/cacert.pem

実行結果

[root@alarmpi ~]# ruby post_prac.rb
code -> 200
msg -> OK
body -> Congratulations! You've fired the mytest event

Raspberry Piからも、IFTTTを経由してGoogleスプレッドシートにデータを記録することができるようになりました。これまでやったこと(↓)と組み合わせると何か面白そうなことができそうな気がしてきました。

参考