ホーム » スタッフ » 斉藤徹 » FEREC用Bookmarklet

2010年1月
« 12月   2月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

最近の投稿(電子情報)

アーカイブ

カテゴリー

FEREC用Bookmarklet

学科にてFERECのルータを使っているが、 最初の接続でWeb認証を行うが、その自動化ができないかと情報収集。 調べてみると、Bookmarklet という方法が紹介されている。 ブックマークにURLを登録する代わりに、JavaScript の処理を登録し、 認証の代わりにそのブックマークを参照する方法。

Web認証のBookmarkletは、NTTコミュニケーションのホットスポットの認証で使われいるので、そのプログラムは、URLエンコードされていたので、戻してみた。

javascript:(function(){
var d=document.forms[0];
d.login_name.value="XXXX"; // XXXXにユーザ名
d.password.value="YYYY";   // YYYYにパスワード
d.submit();
})()

ちなみに、FERECの認証画面のformは、下記の通り。

<form method=post
onsubmit="document.getElementById('sb').disabled = true; return true;">
ユーザ名
<input type=text name=user id=user size=20 autocomplete=off>
パスワード
<input type=password name=pass id=pass size=20 autocomplete=off>
<input type=submit id=sb value="ログイン">
<input type=hidden name=login value=1>
</form>

ということで、JavaScriptの細かい所がわかっていないが、以下のコードでいいのかな…

javascript:(function(){
var d=document.forms[0];
d.action="https://ferec.ei.fukui-nct.ac.jp/login.gsp";
d.user.value="XXXX"; // XXXXにユーザ名
d.pass.value="YYYY"; // YYYYにパスワード
d.login.value=1; // 追記:1/19これを消すと動いた d.submit();
})()

ひとまず、ブックマークを試すために、ちょい書きプログラムの URLエンコード処理などが必要なので、ちょいとPHPでプログラム。
追記:2010/01/14
動かなかったので、action="…"も追加してみたけれど、失敗。 何がまずいのかなぁ…

追記:2010/01/18
無名関数の呼び出し部分が {} と () の書き間違いを見つけた。 たぶんこれで動くはず…

- javascript:(function(){...}){} 誤
+ javascript:(function(){...})()