おいしいAPIを使用して、Firefoxでおいしいブックマークレットを作成します

StackOverflow https://stackoverflow.com/questions/2708950

質問

Firefoxで、事前定義されたタグで現在のページをブックマークするおいしいブックマークレットを作成したいと思います。

概念実証のために、このURLを入力すると、次のように機能します。

https://john:pwd@api.del.icio.us/v1/posts/add?url=http://www.google.com&
    description=http://www.google.com&tags=testtag

しかし、これはブックマークレットとしてはそうではありません アクセスが拒否されました:

javascript:(

    function()
    {
        location.href = 'https://john:pwd@api.del.icio.us/v1/posts/add?url=' 
            + encodeURIComponent(window.location.href)
            + '&description=' + encodeURIComponent(document.title)   
            + '&tags=testtag';
    }

)()

これはJavaScriptブックマークで可能ですか?

アップデート: 私はこれを試しましたが、それでも持っています アクセスが拒否されました エラーがあるので、JavaScript/Firefoxと関係があります。

javascript:(

    function()
    {
        location.href = 'https://john:pwd@api.del.icio.us/v1/posts/add?url='
            + 'http://www.google.com'
            + '&description=' + 'http://www.google.com' + '&tags=testtag';
    }

)()

更新2:上記のさまざまなブラウザで多くのバリエーションを試した後、私はまだ過ぎてはいけません アクセス拒否メッセージ, 、だから賞金を提供します。

役に立ちましたか?

解決

これは、JavaScriptを実行するときにセキュリティの問題からあなたを保護しようとしているFirefoxだと思います。私があなたの例で私のアドレスバーに入力しようとしたとき、Firefoxは私がログインしたいと確信しているかどうか尋ねるように促しました api.del.icio.us.

この他の質問に関する http auth あなたの質問に似ているように見えます、多分それはあなたを助けるでしょう。


アップデート:

FireBugを使用しました ネット パネルとそのJavaScriptコンソール、そして私はリクエスト/応答ヘッダーを見ることができました。

JavaScriptコンソールからのリクエストは次のとおりです。

GET /v1/posts/add?url=http://www.spoons.com/&description=forks&tags=knives HTTP/1.1
Host: api.del.icio.us
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://stackoverflow.com/questions/2708950/2740195
Authorization: Basic XXXXXXXXXXXXXXXXX
Cache-Control: max-age=0

そして、これがアドレスバーからのリクエストです。

GET /v1/posts/add?url=http://www.spoons.com/&description=forks&tags=knives HTTP/1.1
Host: api.del.icio.us
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Authorization: Basic XXXXXXXXXXXXXXXXX
Cache-Control: max-age=0

唯一の違いはあるようです Referer ヘッダー アクセスが拒否されました 応答。設定 network.http.sendrefererheader Firefox'sで about.config 0に設定することができます。これはオフになります Referer ヘッダ。これを試したとき、JavaScriptコンソールメソッドが機能し始めました。

Firefox拡張機能が呼ばれています refspoof 独自のカスタムを送信するのに役立ちます Referer ヘッダー、それはここで役立つかもしれません。

他のヒント

あなたが欠けているように見えます url=.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top