views:

427

answers:

6

Im trying to create a bookmarklet for posting del.icio.us bookmarks to a seperate account.

I tested it from the command line like:

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

and this works great

I then wanted to create a bookmarklet in my firefox. I googled and found bits and pieces and ended up with:

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'
        )
    );

but all that happens is that i get this from 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 -->  

If I then go to the address bar and presses enter, it changes to:

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

Any ideas how to get it to work directly from the bookmarks?

A: 

Does calling the method twice work?

Seems to me that your authentication is being approved after the content arrives, so then a second attempt now works because you have the correct cookies.

GateKiller
A: 

Does calling the method twice work?

I tested it just now, and that didnt make a difference. To me it seems like firefox i preventing the http auth?

svrist
+1  A: 

I see what you mean. I've just tried calling https://seconduser:[email protected] then https://api.del.icio.us in the same window and neither works.

I hope someone more knowledgeable can help?

GateKiller
+1  A: 

Can you sniff the traffic to find what's actually being sent? Is it sending any auth data at all and it's incorrect or being presented in a form the server doesn't like, or is it never being sent by firefox at all?

jj33
+1  A: 

I'd recommend checking out the iMacros addon for Firefox. I use it to login to a local web server and after logging in, navigate directly to a certain page. The code I have looks like this, but it allows you to record your own macros:

VERSION BUILD=6000814 RECORDER=FX
TAB T=1
URL GOTO=<http://10.20.2.4/login&gt;
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&gt;

I middle click on it and it opens a new tab and runs the macro taking me directly to the page I want, logged in with the account I specified.

travis
+1  A: 

@travis Looks very nice! I will sure take a look into it. I can think of several places I can use that

I never got round to sniff the traffic but found out that a php site on my own server with http-auth worked fine, so i figured it was something with delicious. I then created a php page that does a wget of the delicious api and everything works fine :)

svrist