次のコマンドを入力する
curl -k [email protected]:password https://www.example.com
次のエラーを返します
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://mail.google.com/mail/">here</A>.
</BODY></HTML>
badauth
ダウンロード後cacert.crt
ここからファイル
http://www.cacert.org/index.php?id=3
次に、cacert.crt
ファイルからcacert.pem
次に試しました:
curl --cacert /path/to/cacert.pem [email protected]:password https://www.example.com
しかし、同じエラーが発生します。
次に試してください:
curl https://www.example.com
このエラーが出ます
curl:(60)SSL証明書の問題:ローカルの発行者証明書を取得できません。詳細はこちら: http://curl.haxx.se/docs/sslcerts.html
curlはデフォルトで、認証局(CA)公開鍵(CA証明書)の「バンドル」を使用してSSL証明書の検証を実行します。デフォルトのバンドルファイルでは不十分な場合は、-cacertオプションを使用して代替ファイルを指定できます。
このHTTPSサーバーがバンドルに含まれるCAによって署名された証明書を使用する場合、証明書の問題が原因で証明書の検証が失敗した可能性があります(有効期限が切れているか、名前がURL)。
curlによる証明書の検証をオフにする場合は、-k(または--insecure)オプションを使用します
だから私は-k
curl -k https://www.example.com
しかしもちろんエラーが出ます
Badauth
証明書ファイルで何か問題が発生していると思いますが、証明書ファイルを取得する場所や取得後の処理方法がわかりません。
もちろんブラウザを使用してログインしても問題ありませんが、コマンドラインでプロセスを自動化したいので、私のAndroidタブレットでWiFi経由でこれを行うことができます。
成功!!
私はdnsomatic(opendnsの人々によって運営されています)と呼ばれる無料のWebサービスを利用しました
アカウントにサインアップし、サービスにopendnsを追加するのと同じくらい簡単です。それ以上の設定はありません。
Androidユーザーの場合、wgetのbusyboxバージョンはかなり遅れており、ユーザー名とパスワードを使用するオプションがないため、cURLをインストールして使用する必要があります
Curlをインストールするためのガイドはここにあります
http://forum.xda-developers.com/showthread.php?t=2362386
カールを取得したら、opendns ipを更新するなどの操作を簡単に実行できます
curl -u opendnsusername:password http://updates.dnsomatic.com/nic/update?hostname=opendnshostname
ここからcacertルート証明書をダウンロードできます: http://www.cacert.org/index.php?id=