302 Moved Temporarily
認証が必要なため、Google からログイン ページにリダイレクトされます。
認証されると、Google 資格情報はブラウザの Cookie に保存されます。Google マップのロケーション履歴リンクをダウンロードする場合は、ブラウザの Cookie にcurl
. の-b
オプションcurl
を使用すると、 Netscape/Mozilla Cookie ファイル形式cookies.txt
に関して を使用できます。
の各行には、cookies.txt
タブで区切られた 7 つのフィールドがあります。
- domain - 変数を読み取ることができる AND を作成したドメイン。
- flag - 特定のドメイン内のすべてのマシンが変数にアクセスできるかどうかを示す TRUE/FALSE 値。この値は、ドメインに設定した値に応じて、ブラウザーによって自動的に設定されます。
- path - 変数が有効なドメイン内のパス。
- * secure - 変数にアクセスするためにドメインとの安全な接続が必要かどうかを示す TRUE/FALSE 値。
- 有効期限- 変数の有効期限が切れる UNIX 時間。UNIX 時間は、1970 年 1 月 1 日 00:00:00 GMT からの秒数として定義されます。
- name - 変数の名前。
- value - 変数の値。
したがって、最も簡単な解決策は、ブラウザの Cookie をcookies.txt
ファイルにエクスポートし、curl
それらを使用するように指示することです。Chrome では、Cookie は sqlite3 データベースに保存されます。次のコマンドでそれらをエクスポートできます。
sqlite3 ~/.config/google-chrome/Default/Cookies \
'select host_key, "TRUE", path, "FALSE", expires_utc, name, value from cookies where host_key like "%google.com"' \
| tr '|' '\t' > /tmp/cookies.txt
host_key like "%google.com"
エクスポートされた Cookie を制限することに注意してください。
で呼び出しcurl
て-b /tmp/cookies.txt
、エクスポートされた Cookie を使用し、Google マップを認証すると、Google マップのロケーション履歴をダウンロードできるようになります
curl -b /tmp/cookies.txt https://maps.google.com/locationhistory/b/0/kml\?startTime\=1376604000000\&endTime\=1376690400000
Cookie を一時ファイルに保存しないようにするには、次のコマンドを使用します。
curl -b <(sqlite3 ~/.config/google-chrome/Default/Cookies 'select host_key, "TRUE", path, "FALSE", expires_utc, name, value from cookies' | tr '|' '\t') https://maps.google.com/locationhistory/b/0/kml\?startTime\=1376604000000\&endTime\=1376690400000