Linuxでcurlコマンドを叩いたら「curl: (60) SSL certificate problem・・・」と返ってきた。
自分の拙い英語力でも、どうやらSSL証明書の問題だとわかるが、無料の証明書ではあるが問題なく更新できているはずなのに。
調べてみると、一時的にcurlコマンドを正常に実行できる回避策を見つけたのでメモします。
目次
curlコマンドでSSL証明書エラー
Google先生で翻訳すると…
curl:(60)SSL証明書の問題:証明書の有効期限が切れています
Google翻訳
ですが、SSL証明書はきちんと取得しているので、curlコマンドのオプションで何とか解決できないか調べてみました。
curlコマンドのオプションでエラー回避
参考サイトの中から、今回のSSL証明書のエラーを回避できそうなオプションを探しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# HTTPリクエストを実施し結果を標準出力へ $ curl http://対象のURL #コンマや[]を使って範囲指定も出来る $ curl 'http://{one,two,three}.example.com' $ curl 'http://[1-3].example.com' # 実行結果をファイルへ出力 $ curl http://対象のURL > 出力先 $ curl -o 出力先PATH http://対象のURL # ファイル出力時の進捗状況を非表示にする(エラーも非表示) $ curl -s -o 出力先PATH http://対象のURL # 上記でエラーは表示したい場合 $ curl -sS -o 出力先PATH http://対象のURL # プログレスバーで進捗率を表示 $ curl -# -O http://対象のURL # SSL接続で証明書エラーをスキップ $ curl -k https://対象のURL # URLのファイル名でダウンロード (下記はindex.htmlで保存される) $ curl -O http://対象のURL/index.html # プロキシ経由でアクセスする $ curl -x プロキシサーバ:ポート番号 --proxy-user ユーザ名:パスワード http://対象のURL # リダイレクトを有効にする $ curl -L http://対象のURL # ダウンロードを中断したときに再度ダウンロードを再開するとき $ curl -C - http://対象のURL # HTTPメソッドの指定(-X) $ curl -X PUT http://対象のURL |
よく使うcurlコマンドのオプション - Qiita
ブログやってます。更新などはこちら。地方エンジニアの学習日記背景curlコマンドを使う際に毎回調べて実行しているのですがさすがに面倒なのでまとめてみました。自分のev...
はい、見つけましたね!
SSL接続で証明書エラーをスキップするオプション「-k」がそれです。
curlコマンドのオプションは上記以外にも多く存在します。
その他curlコマンドのオプション
オプション | 説明 |
---|---|
-d, –data PARAM | POSTリクエストとしてフォームを送信する。 |
-e, –referer | URL リファラーをURLで指定する |
-f, –fail | サーバエラーが発生したら黙って終了する |
-i, –include | HTTPヘッダを出力に含める |
-m, –max-time | TIME 最大転送時間をTIME秒に制限する |
-o FILE | 取得したデータを指定したファイルFILEに出力する |
-s, –silent | 進捗状況やエラーを表示しない |
-u USER[:PASS] | 認証に用いるユーザー名USER, パスワードPASSを指定する(基本認証など) |
-v, –verbose | 処理状況の更なる詳細や説明を出力させます。 |
-x HOST[:PORT] | プロキシサーバとしてホストHOSTおよびポートPORTを利用 |
-y, –speed-time | 転送速度が指定した速度をTIME秒の間下回ったらダウンロードを終了する。 |
-A, –user-agent | AGENT ユーザーエージェントAGENTを指定 |
-H, –head | HEADER HTTPヘッダにHEADERを追加もしくは変更する |
-I, –head | ヘッダ情報を取得する |
-O, –remote-name | 取得したデータを標準出力ではなくファイルに出力する |
-R, –remote-time | ダウンロードしたファイルのタイムスタンプをサーバ上のタイムスタンプに合わせる |
-L, –location | 要求したページにリダイレクトが掛かっていた場合に追従する |
この他にもオプションがたくさんあって、かなり奥が深いですね。
全部覚えられないので、都度検索するようにしています。
以上、オプションだけでエラー回避できて良かったです。
コメント