Http-аутентификация в букмарклете Firefox 3
Я пытаюсь создать букмарклет для публикации закладок 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 -->
Если я затем иду в адресную строку и нажимаю ввод, она меняется на:
<?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 -->
Есть идеи, как заставить его работать прямо из закладок?
4 ответа
Можете ли вы понюхать трафик, чтобы узнать, что на самом деле отправляется? Это вообще отправляет какие-либо данные аутентификации, и они неверны или представлены в форме, которая не нравится серверу, или они вообще никогда не отправляются firefox?
@travis выглядит очень мило! Я обязательно взгляну на это. Я могу вспомнить несколько мест, где я могу использовать это
Я так и не смог обнюхать трафик, но обнаружил, что php-сайт на моем собственном сервере с http-auth работает нормально, поэтому я подумал, что это что-то вкусное. Затем я создал страницу php, которая делает wget из вкусного API, и все работает отлично:)
Работает ли вызов метода дважды?
Мне кажется, что ваша аутентификация утверждается после того, как контент прибыл, поэтому теперь вторая попытка работает, потому что у вас есть правильные куки.
Я бы порекомендовал проверить дополнение iMacros для Firefox. Я использую его для входа на локальный веб-сервер и после входа в систему, чтобы перейти непосредственно к определенной странице. Код, который у меня есть, выглядит следующим образом, но он позволяет вам записывать свои собственные макросы:
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
Я щелкаю по нему средней кнопкой мыши, и он открывает новую вкладку и запускает макрос, перенося меня прямо на нужную мне страницу, выполнив вход с указанной учетной записью.