この記事は最終更新日から1年以上が経過しています。
@programming
投稿日 2019/6/21
Chrome拡張機能でブラウザのクッキーを利用
Chrome拡張機能ではChrome Cookies APIを使うことでブラウザが保有するクッキーを利用することができます。
コード例
以下のコード例では、クッキーが必要なページhttps://example.com/cookie-required
ヘアクセスする方法を表しています。 ブラウザにクッキーが付与されるルートページhttps://example.com/
へ一旦アクセスすることでクッキーを取得し、その後https://example.com/cookie-required
へアクセスしています。
manifest.json
manifest.json
でpermissions
に"cookies"
を指定します。これはChrome拡張機能にブラウザのクッキーを扱う権限を付与しています:
manifest.json
{
"name": "My Extension",
...
"permissions": [
"cookies",
"*://*.example.com"
],
...
}
これにより content script 内でブラウザのクッキーを利用したリクエスト処理を実行できます:
content script
content script 内ではこのように使います:
...
// まずはルートページでクッキーを取得:
$.ajax({
url: "https://example.com/",
}).done((html) => {
// Chrome Cookie API で取得したクッキーをデバッグ出力:
chrome.cookies.getAll({ domain: 'https://example.com' }, ((cookies) => {
console.log("Got cookies:", cookies);
}));
// そしてクッキーが必要なページヘアクセス:
$.ajax({
url: "https://example.com/cookie-required",
}).done((html) => {
console.log("cookie-required page's html:", html);
});
});
以上、ニッチなメモでした。