Firefox 3 ブックマークレットの HTTP 認証
-
08-06-2019 - |
質問
del.icio.us ブックマークを別のアカウントに投稿するためのブックマークレットを作成しようとしています。
次のようにコマンドラインからテストしました。
wget -O - --no-check-certificate \
"https://seconduser:thepassword@api.del.icio.us/v1/posts/add?url=http://seet.dk&description=test"
これはうまくいきます。
次に、Firefox でブックマークレットを作成したいと思いました。私はグーグルで断片を見つけて、最終的に次のようになりました。
javascript:void(
open('https://seconduser:password@api.del.icio.us/v1/posts/add?url='
+encodeURIComponent(location.href)
+'&description='+encodeURIComponent(document.title),
'delicious','toolbar=no,width=500,height=250'
)
);
しかし、起こっていることは、del.icio.us からこれを取得したことだけです。
<?xml version="1.0" standalone="yes"?>
<result code="access denied" />
<!-- fe04.api.del.ac4.yahoo.net uncompressed/chunked Thu Aug 7 02:02:54 PDT 2008 -->
次に、アドレス バーに移動して Enter キーを押すと、次のように変わります。
<?xml version='1.0' standalone='yes'?>
<result code="done" />
<!-- fe02.api.del.ac4.yahoo.net uncompressed/chunked Thu Aug 7 02:07:45 PDT 2008 -->
ブックマークから直接動作させる方法はありますか?
解決
トラフィックを盗聴して、実際に送信されているものを見つけることができますか?認証データを送信しているのですが、それが間違っているのか、サーバーが好まない形式で表示されているのか、それとも Firefox によってまったく送信されていないのでしょうか?
他のヒント
@travis とても素敵ですね!必ず検討させていただきます。使用できる場所がいくつか思いつきます
トラフィックを嗅ぎ分けることはできませんでしたが、http-auth を使用した自分のサーバー上の PHP サイトが正常に動作していることがわかったので、これは何かおいしいものだと思いました。次に、おいしい API の wget を実行する php ページを作成しました。すべて正常に動作します:)
をチェックすることをお勧めします Firefox 用 iMacros アドオン. 。これを使用してローカル Web サーバーにログインし、ログイン後、特定のページに直接移動します。私のコードは次のようになりますが、独自のマクロを記録できます。
VERSION BUILD=6000814 RECORDER=FX
TAB T=1
URL GOTO=http://10.20.2.4/login
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:introduce ATTR=NAME:initials CONTENT=username-goes-here
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:introduce ATTR=NAME:password CONTENT=password-goes-here
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:introduce ATTR=NAME:Submit&&VALUE:Go
URL GOTO=http://10.20.2.4/timecard
それを中クリックすると、新しいタブが開き、指定したアカウントでログインした状態で、目的のページに直接移動するマクロが実行されます。
メソッドを 2 回呼び出すと機能しますか?
コンテンツが到着した後に認証が承認されているように思えます。正しい Cookie があるため、2 回目の試行は成功します。