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