javascript - webextensions - webplugin firefox




Http Auth dans un bookmarklet Firefox 3 (3)

Im essayant de créer un bookmarklet pour signaler des signets del.icio.us à un compte séparé.

Je l'ai testé depuis la ligne de commande comme:

wget -O - --no-check-certificate \
"https://seconduser:[email protected]/v1/posts/add?url=http://seet.dk&description=test"

et cela fonctionne très bien.

J'ai alors voulu créer un bookmarklet dans mon firefox. J'ai googlé et trouvé des morceaux et fini avec:

javascript:void(
    open('https://seconduser:[email protected]/v1/posts/add?url='
          +encodeURIComponent(location.href)
          +'&description='+encodeURIComponent(document.title),
          'delicious','toolbar=no,width=500,height=250'
        )
    );

mais tout ce qui se passe est que je reçois ceci de 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 -->  

Si je vais dans la barre d'adresse et que j'appuie sur Entrée, cela devient:

<?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 -->

Des idées comment l'obtenir pour travailler directement à partir des signets?


Est-ce que l'appel de la méthode fonctionne deux fois?

Il me semble que votre authentification est approuvée après l'arrivée du contenu, alors une seconde tentative fonctionne maintenant parce que vous avez les cookies corrects.


Pouvez-vous renifler le trafic pour trouver ce qui est réellement envoyé? Est-ce qu'il envoie des données d'authentification et qu'il est incorrect ou présenté sous une forme que le serveur n'aime pas, ou est-ce qu'il n'est jamais envoyé par firefox?


@travis Regarde très bien! Je vais certainement y jeter un coup d'œil. Je peux penser à plusieurs endroits que je peux utiliser

Je n'ai jamais eu à flairer le trafic, mais j'ai découvert qu'un site php sur mon propre serveur avec http-auth fonctionnait bien, donc j'ai pensé que c'était quelque chose de délicieux. J'ai ensuite créé une page php qui fait un wget de la délicieuse api et tout fonctionne bien :)







delicious-api