Autenticação HTTP em um bookmarklet do Firefox 3
-
08-06-2019 - |
Pergunta
Estou tentando criar um bookmarklet para postar marcadores del.icio.us em uma conta separada.
Eu testei na linha de comando como:
wget -O - --no-check-certificate \
"https://seconduser:thepassword@api.del.icio.us/v1/posts/add?url=http://seet.dk&description=test"
Isso funciona muito bem.
Eu então queria criar um bookmarklet no meu Firefox.Pesquisei no Google e encontrei pedaços e acabei com:
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'
)
);
Mas tudo o que acontece é que recebi isto 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 -->
Se eu for para a barra de endereço e pressionar Enter, ela muda para:
<?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 -->
Alguma idéia de como fazê-lo funcionar diretamente nos favoritos?
Solução
Você consegue farejar o tráfego para descobrir o que realmente está sendo enviado?Ele está enviando algum dado de autenticação e está incorreto ou sendo apresentado de uma forma que o servidor não gosta, ou nunca está sendo enviado pelo Firefox?
Outras dicas
@travis Parece muito legal!Com certeza vou dar uma olhada nisso.Posso pensar em vários lugares onde posso usar isso
Nunca consegui farejar o tráfego, mas descobri que um site php em meu próprio servidor com http-auth funcionava bem, então imaginei que era algo delicioso.Criei então uma página php que faz um wget da API deliciosa e tudo funciona bem :)
Eu recomendo verificar o Complemento iMacros para Firefox.Eu o uso para fazer login em um servidor web local e, após fazer login, navegar diretamente para uma determinada página.O código que tenho é parecido com este, mas permite gravar suas próprias macros:
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
Clico com o botão do meio nele e ele abre uma nova aba e executa a macro que me leva diretamente para a página que desejo, logado com a conta que especifiquei.
Chamar o método duas vezes funciona?
Parece-me que sua autenticação está sendo aprovada após a chegada do conteúdo, então uma segunda tentativa agora funciona porque você tem os cookies corretos.