Создать вкусный блокмаркет в Firefox, используя вкусные API

StackOverflow https://stackoverflow.com/questions/2708950

Вопрос

Я хочу создать вкусный блокмаркет в Firefox, который закладывает текущую страницу с предопределенным тегом.

Для доказательства концепции, если я введу этот URL, он работает:

https://john:pwd@api.del.icio.us/v1/posts/add?url=http://www.google.com&
    description=http://www.google.com&tags=testtag

Но это как заблокированное оформление нет, я получаю доступ запрещен:

javascript:(

    function()
    {
        location.href = 'https://john:pwd@api.del.icio.us/v1/posts/add?url=' 
            + encodeURIComponent(window.location.href)
            + '&description=' + encodeURIComponent(document.title)   
            + '&tags=testtag';
    }

)()

Это возможно через закладку JavaScript?

Обновлять: Я попробовал это, но все же получил доступ запрещен Ошибка, так что это есть что делать с JavaScript / Firefox.

javascript:(

    function()
    {
        location.href = 'https://john:pwd@api.del.icio.us/v1/posts/add?url='
            + 'http://www.google.com'
            + '&description=' + 'http://www.google.com' + '&tags=testtag';
    }

)()

Обновление 2:После попытки много вариаций вышеперечисленного и на разных браузерах я до сих пор не могу пройти мимо Доступ запретил сообщение, Так что предлагая щедрость.

Это было полезно?

Решение

Я подозреваю, что это Firefox, пытаясь защитить вас от проблем безопасности при запуске JavaScript. Когда я попробовал набрать в своем примере в мою адресной панели, Firefox побудил меня спросить, я уверен, что хочу войти в систему api.del.icio.us.

Этот другой вопрос относительно Http auth. Похоже на ваш вопрос, может быть, это поможет вам.


Обновлять:

Я использовал Firebug's Сеть Панель и его уход за JavaScript, и я смог увидеть заголовки запроса / ответа.

Вот запрос от консоли JavaScript, который не удался:

GET /v1/posts/add?url=http://www.spoons.com/&description=forks&tags=knives HTTP/1.1
Host: api.del.icio.us
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://stackoverflow.com/questions/2708950/2740195
Authorization: Basic XXXXXXXXXXXXXXXXX
Cache-Control: max-age=0

И вот запрос из адресной строки, который работал:

GET /v1/posts/add?url=http://www.spoons.com/&description=forks&tags=knives HTTP/1.1
Host: api.del.icio.us
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Authorization: Basic XXXXXXXXXXXXXXXXX
Cache-Control: max-age=0

Только разница, кажется, Referer заголовок, который вызвал доступ запрещен отклик. Настройки Network.http.sendrefererheader. в Firefox about.config. может быть установлен на 0, что выключает Referer заголовок Когда я попробовал это, то метод консоли JavaScript начал работать.

Существует расширение Firefox под названием refspoof что полезно для отправки собственного пользовательского Referer Заголовки, может быть, это может помочь здесь.

Другие советы

Похоже, тебе не хватает url=.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top