「Authorization」HTTP ヘッダーを設定することにより、HTTP 認証を使用してログインできます。このヘッダーの値は文字列「basic username:password」に設定されますが、文字列の「username:password」部分は Base 64 でエンコードされます。 .
http://frontier.userland.com/stories/storyReader$2159
少し調べてみると、GreaseMonkey には GM_xmlhttpRequest というサーバーに GET / POST リクエストを送信できる機能が組み込まれていることがわかりました。
http://diveintogreasemonkey.org/api/gm_xmlhttprequest.html
したがって、すべてをまとめると (さらに、この JavaScript コードを取得して文字列を base64 に変換すると、次のようになります
http://www.webtoolkit.info/javascript-base64.html
var loggedInText = document.getElementById('metanav').firstChild.firstChild.innerHTML;
if (loggedInText != "logged in as jklp") {
var username = 'jklp';
var password = 'jklpPass';
var base64string = Base64.encode(username + ":" + password);
GM_xmlhttpRequest({
method: 'GET',
url: 'http://foo.com/trac/login',
headers: {
'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3',
'Accept': 'application/atom+xml,application/xml,text/xml',
'Authorization':'Basic ' + base64string,
}
});
}
そのため、サイトにアクセスすると、DOM をトラバースし、ログインしていない場合は自動的にログインします。