Как сохранить закладку в Firefox с данными POST?

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

Например, я хотел бы отметить страницу отслеживания посылки Chronopost , которая позволяет только POST вводить номера парцелл.

Кто-нибудь знает расширение Firefox или какую-то другую технику, которая позволила бы мне это сделать?

9 Solutions collect form web for “Как сохранить закладку в Firefox с данными POST?”

Используйте букмарклет. Например, вы можете использовать этот инструмент по адресу http://userjs.up.seesaa.net/js/bookmarklet.html, чтобы создать букмарклет со следующим кодом:

(function(){ var post_to_url = function(path, params, method) { var openWindow = window.open(path); method = method || "post"; var form = openWindow.document.createElement("form"); form.setAttribute("method", method); form.setAttribute("action", path); for(var key in params) { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", params[key]); form.appendChild(hiddenField); } openWindow.document.body.appendChild(form); form.submit(); }; post_to_url( 'http://www.chronopost.fr/transport-express/livraison-colis/engineName/search/accueil/suivi', {search:'test'}); })() 

Затем используйте созданную ссылку букмарклета в качестве закладки в вашем любимом браузере. Когда вы нажмете на нее, откроется окно, создайте форму с параметрами {search:'test'} и отправьте эту форму.

Чтобы изменить URL и параметры, просто post_to_url последний вызов post_to_url .

Эта стратегия может быть отличной, если вам просто нужно создать закладку один раз и использовать ее много раз. Однако для создания новых закладок сделать это нелегко, если вам нужно сделать это на регулярной основе.

Используя ответ @StriplingWarrior, я немного изменил сценарий, чтобы иметь такое же поведение, как и обычные закладки, открыв закладку в том же окне

 (function(){ var post_to_url = function(path, params, method) { method = method || "post"; var form = window.document.createElement("form"); form.setAttribute("method", method); form.setAttribute("action", path); for(var key in params) { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", params[key]); form.appendChild(hiddenField); } window.document.body.appendChild(form); form.submit(); }; post_to_url( 'http://192.168.0.1/goform/login', {loginPassword:'password',loginUsername:'admin'}); })() 

Используя инструмент в http://userjs.up.seesaa.net/js/bookmarklet.html, вы можете просто скопировать и вставить код, изменить URL-адрес и параметры и добавить созданный букмарклет в свои закладки. Это довольно полезно для доступа, например, к панели управления маршрутизатором.

Благодаря ответам на этот вопрос, я нашел это красивое дополнение для Firefox: Bookmark POST . В нем нет хорошей документации, но это должно помочь вам начать:

Благодаря этой закладке четыре простых шага к вашему запрошенному POST-запросу (без необходимости использования javascript):

  1. Откройте страницу с формой, которую вы хотите пометить, и заполните форму «типичным» способом. НЕ отправляйте еще.
  2. Откройте Инструменты для веб-разработчиков -> Сетевой анализ.
  3. Отправьте свою форму. Представление будет отображаться в сетевом анализе. Там вы можете выбрать «Редактировать и отправить снова» и скопировать «Тело запроса».
  4. Создайте закладку на страницу формы и добавьте строку POSTDATA={YOUR_REQUEST_BODY_HERE} в качестве описания закладок.

Для меня это проще, чем играть с Javascript.

Закладка frmget работает для многих сайтов, которые безразличны к методу http: применить букмарклет, отправить форму, пометить страницу результатов.

Для сайтов, которые требуют POST, есть это расширение , которое не очень удобно. Вы можете объединить его с frmget: применить frmget, отправить форму, пометить страницу, скопировать параметры GET в поле описания с префиксом POSTDATA= .

Самый простой подход:

Закладка с заполненной формой и автозагрузкой

 javascript:'<html><body onload="document.forms[0].submit()"><form action="http://www.example.com" method="POST"><input name="whatever" value="whatever" type="hidden"></form></body></html>' 

Недостаток: Chromium отправил бы текущий URL веб-страницы в качестве HTTP-реферирования. (Firefox и IE не будут.)

Почему референт имеет значение? Не принимая во внимание проблемы конфиденциальности, некоторые веб-сайты будут проверять реферер на POST, чтобы защитить себя от вредоносных запросов, сделанных скрытым сообщением iframe.

Альтернативный подход:

Описанный здесь , он немного читабельнее, но где-то нужен файл HTML, использование будет выглядеть так:

 file:///C:/getToPost?name1=value1&name2=value2#http://url.com/service 

При работе с локально сохраненным файлом референт не будет отправлен. Даже в Хром.
Если файл будет размещен на удаленном веб-сайте, то отправитель будет отправлен и будет содержать хост сайта и исходную строку запроса.

Я немного изменил скрипт, предоставленный @StriplingWarrior, чтобы принять файл HAR в качестве параметра. Файл HAR можно сохранить из инструментов разработчика Chrome (Ctrl + Shift + J).

Сначала откройте страницу с уже опубликованными данными формы, затем щелкните правой кнопкой мыши первый документ на вкладке «Сеть» и выберите «Копировать запись как HAR». Затем вставьте содержимое в сценарий ниже:

 <html><body><script> function dopost() { var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", har["request"]["url"]); var params = har["request"]["postData"]["params"]; for(var e in params) { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", params[e]["name"]); hiddenField.setAttribute("value", params[e]["value"]); form.appendChild(hiddenField); } document.body.appendChild(form); form.submit(); } window.onload=dopost; var har= //-----PASTE HERE------ </script> </body></html> 

Сохраните это как файл html, и он должен открыть опубликованную форму. Это не работает, если сайт использует viewstate или проверяет реферер.

Из того, что я понимаю в сообщении, нет возможности записывать эти данные самостоятельно и повторно отправлять их.

Я предлагаю получить дополнение, которое заполняет формы для вас лучше, чем Firefox по умолчанию.

У Chrome действительно есть очень мощное распознавание формы и заполнение встроенной функции, но я уверен, что есть аддон firefox, который делает то же самое.

Попробуйте этот вариант, он выглядит многообещающим: добавьте надстройку надстройки Firefox

Используйте плагин iMacro, доступный для Firefox и Chrome .

Я использую этот Firefox Addon для добавления действий POST.

  • Получение curl для вывода кода состояния HTTP?
  • Почему у меня разные IP-адреса на разных сайтах?
  • Могу ли я прочитать hash-часть URL-адреса моего серверного приложения (PHP, Ruby, Python и т. Д.)?
  • Какова максимальная длина URL-адреса в разных браузерах?
  • Что такое программирование RESTful?
  • Http получить из оболочки в Mac OS X
  • Переключение User-Agent в Firefox 4
  • PUT против POST в REST
  • Как изменить заголовок заголовка Firefox для всех HTTP-запросов
  • Доступны ли методы PUT, DELETE, HEAD и т. Д. В большинстве веб-браузеров?
  • Как работает http://to./?
  • HTTP-HTTPS-туннель
  • Interesting Posts

    Есть ли комбинация клавиш для перемещения фокуса ввода в поле поиска Google?

    Как изменить HOMEDRIVE HOMEPATH и HOMESHARE в Windows XP?

    Будет ли звуковая карта поддерживать качество аудиозаписи?

    Как заставить Apache следовать символическим ссылкам?

    Могу ли я остановить OSX от создания файлов .DS_Store / ._blah везде на NTFS?

    Удаление писем от отправителя через x дней?

    Нормально ли для диска SATA отображать размер 0 МБ в BIOS?

    Как установить Debian с USB-накопителя?

    Как просмотреть расширения Explorer и отключить их?

    Ядро Linux – не могу получить доступ к sda16 & sda17

    Могу ли я обмануть Windows, думая, что установлен антивирус?

    Любой способ установить представление по умолчанию в Word 2007 или 2010 и сохранить среди перезапусков?

    Сложный язык ввода и настройка языка отображения в Windows 8

    Он открывает приглашение «открыть с» при каждом запуске запланированного задания

    Excel – отобразить текст, отличный от фактического значения?

    Давайте будем гением компьютера.