Как вручную отправлять HTTP-запросы POST из браузера Firefox или Chrome?

1035

Я хочу протестировать некоторые URL-адреса в веб-приложении, над которым я работаю. Для этого я хотел бы вручную создавать запросы HTTP POST (то есть я могу добавлять любые параметры, которые мне нравятся).

Есть ли какие-либо расширения или функции в Chrome и / или Firefox, которые мне не хватает?

Паскаль Кляйн
источник
1
DHC от Restlet (доступно в Интернет-магазине Chrome) также очень полезен.
Девеш Хандельвал
10
Сделайте AJAX-вызов в консоли Chrome. Расширение не требуется. Это хороший способ отправлять POST-запросы без необходимости получать файлы cookie для аутентификации. $.post('/resource/path/')
FearlessFuture
11
В то время как добавление необходимо, закрытие - чепуха. Он запрашивал функциональность в Chrome или Firefox, или если ему нужен плагин. То, что для этого может потребоваться указанный или неуказанный плагин, не имеет значения
Shayne
26
Пост закрыт некорректно. Он не просит инструмента, но для функциональности в инструментах, с которыми автор уже работает. Таким образом, мы должны закрыть все вопросы о том, как сделать то или иное на каком-либо инструменте - и это будет хорошая десятая часть SO.
Гангнус
8
Я заметил эту функцию в Firefox, когда вы открываете вкладку сети и выбираете случайный запрос, который вы можете Edit and Resendсделать, что довольно круто.
jurl

Ответы:

1839

Я делал приложение для Chrome под названием Postman для такого рода вещей. Все остальные расширения выглядели немного устаревшими, поэтому я сделал их самостоятельно. Он также имеет множество других функций, которые были полезны для документирования нашего собственного API здесь.


Почтальон теперь также имеет собственные приложения (то есть автономные) для Windows, Mac и Linux! Сейчас предпочтительнее использовать нативные приложения, читайте больше здесь .

Abhinav
источник
1
Есть ли намерения перенести это на Firefox? (Или что-нибудь кроме хрома)
Оли
1
Да. Это работает для локальных URL-адресов просто отлично.
Абхинав
4
При использовании POST в Postman добавьте свои ключи и значения в тело после выбора x-www-form-urlencoded. @Abhivav Я просто хочу сказать спасибо за отличное приложение. Работает очень хорошо при тестировании RESTful.
Дэвид
1
Убедитесь, что вы также установили плагин-перехватчик Postman, если хотите использовать куки браузера.
GP cyborg
2
Я с удовольствием читаю этот пост спустя 9 лет и думаю, как почтальон станет неотъемлемой частью жизни разработчиков. Спасибо @Abhinav и команде за его разработку.
Сантош К Тадка
331

CURL УДИВИТЕЛЬНО делать то, что вы хотите! Это простой, но эффективный инструмент командной строки.

Остальные реализации тестовых команд:

curl -i -X GET http://rest-api.io/items
curl -i -X GET http://rest-api.io/items/5069b47aa892630aae059584
curl -i -X DELETE http://rest-api.io/items/5069b47aa892630aae059584
curl -i -X POST -H 'Content-Type: application/json' -d '{"name": "New item", "year": "2009"}' http://rest-api.io/items
curl -i -X PUT -H 'Content-Type: application/json' -d '{"name": "Updated item", "year": "2010"}' http://rest-api.io/items/5069b47aa892630aae059584
Арно 2501
источник
36
Я голосую за это, хотя это неправильный ответ на вопрос: это то, что мне нужно было знать вместо этого.
Джим Пиварски
8
Он не подходит для всей цели, потому что он не может прикрепить куки, уже установленные в браузере. Например, вы можете войти на сайт вручную, а затем отправить запрос на публикацию. С curl это было бы огромной болью, если бы вход в систему обрабатывался с помощью javascript
Vic Seedoubleyew
Это не работает для меня, я не могу использовать одинарные кавычки на OSX с zsh и bash, оболочка переходит в quote>режим. Мне нужно использовать-d "{\"..
Даниэль В.
193

Fire Fox

Откройте панель «Сеть» в «Инструментах разработчика», нажав Ctrl+Shift+Eили, выбрав Menubar -> Инструменты -> Веб-разработчик -> Сеть. Затем нажмите на маленький значок двери в правом верхнем углу (в развернутом виде на скриншоте вы найдете его слева от выделенных заголовков), второй ряд (если вы его не видите, перезагрузите страницу) -> Изменить и повторно отправить любой запрос, который вы хотите

Firefox Dev Tools с выделенной кнопкой «Редактировать и отправить»

Тело POST-запроса выделено

0fnt
источник
2
Эта функция нарушена для кого-то еще? При редактировании параметров в поле «Строка запроса» после изменения одного символа он отказывается изменять запрос дальше. Единственный способ сделать это помимо этого - отредактировать весь URL / запрос (что сложно, потому что все вместе)
Coldblackice
@Coldblackice Можете ли вы опубликовать скриншот или проблемный регистратор шагов? Я могу редактировать строку запроса просто отлично. Чтобы добавить новую строку запроса, я использую & = или просто начинаю новую строку. Чтобы редактировать, измените отдельные k, v или я просто удалите и начните все сначала.
0
Если вам нужно поле для строки запроса ( ?key=value), где вы можете вводить пары значений ключа построчно, просто добавьте a ?и букву в URLполе вверху, и Query Stringполе отобразится.
xuiqzy
1
это правильный ответ.
Метехан Гюлач
162

Забудьте браузер и попробуйте CLI. HTTPie - отличный инструмент!

введите описание изображения здесь

Клиенты CLI http:

Если вы настаиваете на расширении браузера, то:

Хром :

Firefox :

Амра
источник
1
также дополнение к тесту ресурсов addons.mozilla.org/en-us/firefox/addon/http-resource-test
akostadinov
Последнее обновление плаката 28/06/11 - обновление Firefox означает, что его нельзя запустить
Ричард
@akostadinov Я не могу использовать аддон тестирования ресурсов в Mozilla, инструмент не отображается (даже после установки и перезапуска) под инструментами разработчика в последней версии Firefox.
Рам
1
Только что попробовал REST Easy. Деинсталлируется на месте: интерфейс слишком сильно держит руки и заставляет пользователя использовать жесткие сценарии использования. Не подходит для разработки API.
7heo.tk
Перепробовал все предложенное выше для Firefox, но не нашел ничего более удобного, чем Postman для Chrome . REST Easy , кстати, не обрабатывает пустые ответы.
Lu55
45

Будучи очень вдохновленным Postman для Chrome , я решил написать нечто подобное для Firefox.

REST Easy * - это перезапускаемое дополнение Firefox, целью которого является максимально возможный контроль над запросами. Надстройка все еще находится в экспериментальном состоянии (она еще даже не проверялась Mozilla), но разработка идет неплохо.

Проект с открытым исходным кодом, так что если кто-то чувствует себя обязанным помочь с разработкой, это было бы здорово: https://github.com/nathan-osman/Rest-Easy

* надстройка, доступная на http://addons.mozilla.org , всегда будет немного отставать от кода, доступного на GitHub

Натан Осман
источник
2
Кажется приятным, но не имеет возможности полностью контролировать тело запроса. В настоящее время он предлагает возможности «ключ / значение», но полный контроль над телом поста был бы неплохим.
Галмок
Поддержка PUT и DELETE победит меня. Хорошо выглядит в противном случае.
Деннис
1
@Pacerier: это функция, над которой я сейчас работаю, и она завершена примерно на 90%. Надеюсь, он выйдет до конца года. Похоже, существует отставание в получении аддонов, одобренных Mozilla.
Натан Осман
2
После месяца ожидания новая версия была одобрена. Поддержка PUT и DELETE прибыла! И в этом месяце я также внес множество других новых изменений, которые скоро появятся в следующем выпуске. (Надеюсь, на этот раз он будет одобрен раньше.)
Натан Осман
2
Это больше не доступно, как кажется. (Вероятно, это не WebExtension и, следовательно, не совместимо с Firefox> = 57.) Эта проблема отслеживается здесь: github.com/nathan-osman/REST-Easy/issues/78
rugk
18

Вы специально задали вопрос о «расширении или функциональности в Chrome и / или Firefox», которые дают ответы, которые вы уже получили, но мне нравится простота ответа oezi на закрытый вопрос «как отправить запрос на публикацию с помощью веб-браузера» для простых параметров. Оэзи говорит:

с формой, просто установите methodдля"post"

<form action="blah.php" method="post">
  <input type="text" name="data" value="mydata" />
  <input type="submit" />
</form>

Т.е. создайте себе очень простую страницу, чтобы проверить действия поста.

dumbledad
источник
16

Это немного некрасиво, но есть Simple REST Client расширение для Chrome.

Это прекрасно работает для меня - помните, что вы все еще можете использовать отладчик с ним. Панель «Сеть» особенно полезна; это даст вам отрендеренные объекты JSON и страницы ошибок.

Nate
источник
Не думай, что это больше существует.
Zeusstl
1
Да, ссылка больше недоступна, и новая ссылка должна быть chrome.google.com/webstore/detail/advanced-rest-client/…
Румен Йеков,
@RumenJekov « Продвинутый REST-клиент» кажется другим продуктом (и, следовательно, другим ответом), чем « Простой REST-клиент»
TylerH
9

Может не иметь прямого отношения к браузерам, но Fiddler - еще одно хорошее программное обеспечение.

Fiddler веб-отладчик

Vineel Kovvuri
источник
3

Вы также можете использовать Watir или Watin для автоматизации браузеров. Watir написан для ruby, а Watin для .Net языков. Не уверен, что это то, что вы ищете.

Церера
источник
3

Попробуйте Runscope. Бесплатный инструмент для ознакомления с их услугами предоставляется по адресу https://www.hurl.it/ . Вы можете установить метод, аутентификацию, заголовки, параметры и тело. Ответ показывает код состояния, заголовки и тело. Тело ответа может быть отформатировано из JSON со складной иерархией. Платные учетные записи могут автоматизировать тестовые вызовы API и использовать возвращаемые данные для создания новых тестовых вызовов. Раскрытие COI: я не имею отношения к Runscope.

Беннет Браун
источник
Существует также бесплатный уровень для Runscope, просто он имеет нижний предел запросов в месяц и только 1 член команды. Раскрытие: я делаю :-)
Даррел Миллер
2

Проверьте http-toolна Firefox ..

https://addons.mozilla.org/en-US/firefox/addon/http-tool/

Aimed at web developers who need to debug HTTP requests and responses.
Can be extremely useful while developing REST based api.

Features:
* GET
* HEAD
* POST
* PUT
* DELETE

Add header(s) to request.
Add body content to request.

View header(s) in response.
View body content in response.
View status code of response.
View status text of response.
bobbyrne01
источник
2
Это больше не доступно, как кажется. (Вероятно, это не WebExtension и, следовательно, не совместимо с Firefox> = 57.)
rugk