如何使用Firefox或Chrome手动触发HTTP POST请求?

Pas*_*ein 969 firefox google-chrome http-post

我想在我正在处理的Web应用程序上测试一些URL.为此,我想手动创建HTTP POST请求(这意味着我可以添加我喜欢的任何参数).

我缺少Chrome和/或Firefox中的任何扩展程序或功能吗?

Abh*_*nav 1750

我一直在为这类东西制作名为Postman的Chrome应用程序.所有其他扩展似乎有点过时,所以我自己.它还有许多其他功能,这些功能有助于在此处记录我们自己的API.


Postman现在还拥有适用于Windows,Mac和Linux的原生应用程序(即独立应用程序)!现在更优选使用本机应用程序,请在此处阅读更多内容.

  • Abhinav,这个5岁的职位现在必须成为传奇,特别是在"邮差"现在非常成功并为我们的开发人员节省生命.祝贺你的成功. (245认同)
  • 等等...这个帖子是神圣的 (161认同)
  • 谢谢@DilnoorSingh.确实感觉很棒,并且得到开发社区的支持真是太棒了. (64认同)
  • 我们所知道的邮递员诞生了。 (34认同)
  • `邮差 Chrome 已弃用` (6认同)
  • 不幸的是,Postman 应用程序在空闲时会占用大量 RAM。当您只需要一个轻量级应用程序来发送基本的 HTTP 请求并最终进行一些身份验证时,这是一种耻辱。不过,这是一个很棒的应用程序,具有良好的人体工程学原理。 (5认同)
  • 在Postman中使用POST时,一旦选择了x-www-form-urlencoded,就将键和值添加到Body中.@Abhivav我只想说谢谢你的精彩应用.在测试RESTful时非常有效. (4认同)
  • 如果您想使用浏览器的 cookie、会话,请确保也安装 Postman 拦截器插件。 (3认同)
  • 需要一个(免费)帐户。嗯。 (3认同)
  • 才意识到这是邮递员的诞生 (3认同)
  • 工具可能有用,但第 3 方应用程序无法回答该问题,该问题要求通过 Chrome 或 Firefox 执行此操作。 (2认同)
  • @PeterMortensen 这是同一个邮递员,只是 9 年后在一个独立的应用程序上。您可以在 https://blog.postman.com/how-we-built-postman-product-and-company/ 上阅读相关内容 (2认同)
  • 你应该继续努力......谁知道呢,也许几年后“邮递员”的事情会在开发社区流行起来...... (2认同)

Arn*_*501 284

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
Run Code Online (Sandbox Code Playgroud)

  • 尽管这个问题的答案是错误的,但我仍在支持这一点:这是我需要知道的. (25认同)
  • 它不适合整个目的,因为它无法附加已在浏览器中设置的cookie.例如,您可能希望手动登录网站,然后发送帖子请求.使用curl,如果使用javascript函数处理登录过程,这将是一个巨大的痛苦 (6认同)
  • Windows cmd.exe 也不喜欢单引号,因此对于我的 POST,我使用了:curl -i -X POST -H "Content-Type: application/json" -d "{\"name\": \"New项目\",\"年份\":2009}" http://localhost:60524/ (4认同)

amr*_*mra 155

忘记浏览器并尝试CLI.HTTPie是很棒的工具!

在此输入图像描述

CLI http客户端:

如果您坚持浏览器扩展,那么:

Chrome:

Firefox:


0fn*_*fnt 148

火狐

通过按Ctrl-Shift-Q或转到Firefox - >开发人员工具 - >网络选项卡(突出显示),在开发者工具中打开网络面板.然后单击右上角的小门图标(在屏幕截图中以扩展形式显示,它将在突出显示的标题左侧找到),第二行(如果您没有看到它然后重新加载页面) - >编辑和重新发送您想要的任何请求

编辑:添加图像.不幸的是我在Linux上,所以没有简单的工具可以圈出一些东西,但希望这些亮点会让事情变得清晰.在此输入图像描述.

  • **警告:**在Windows的Firefox中,按<kbd> Ctrl + Shift + Q </ bkd>会严重终止,因为它将关闭浏览器。而是按<kbd> F12 </ bkd>。 (10认同)
  • 这个功能对其他人来说是坏的吗?在“查询字符串”框中编辑参数时,更改单个字符后,拒绝进一步更改请求。除此之外的唯一方法是编辑整个 URL/请求(这很困难,因为它们都被挤在一起了) (3认同)
  • 我还确认它在 Firefox 88.0.1 中有效 - 但是,就我而言,“编辑并重新发送”按钮没有显示。我必须右键单击该请求,然后单击“在网络面板中打开”。从那里,我可以单击右上角的“重新发送”下拉列表,然后选择“编辑并重新发送”。感谢这个解决方案在多年后变得强大。您甚至可以选择为请求创建一个 fetch() 命令,以便在控制台中使用,就像 OP 最初请求的那样。 (3认同)
  • @ user247077 PS on linux上的工具Shutter适用于截图并编辑它们以圈出或突出显示(或隐藏)图像的某些部分. (2认同)
  • Ctrl-Shift-Q是关闭chrome的快捷方式...编辑:哦,本教程适用于Firefox。 (2认同)
  • 辉煌!在尝试了所有那些破旧的扩展后,我发现Fx实现了这一点. (2认同)

Nat*_*man 44

受到Postman for Chrome的极大启发,我决定为Firefox编写类似的内容.

REST Easy*是一个无重启的Firefox附加组件,旨在尽可能多地提供对请求的控制.附加组件仍然处于实验状态(甚至还没有被Mozilla审查)但是开发进展顺利.

该项目是开源的,所以如果有人觉得有必要帮助开发,那将是非常棒的:https://github.com/nathan-osman/Rest-Easy

*http://addons.mozilla.org上提供的附加组件将始终略微落后于GitHub上提供的代码

  • 这似乎不再可用。(它可能不是 WebExtension,因此与 Firefox >= 57 不兼容。)在此处跟踪此问题:https://github.com/nathan-osman/REST-Easy/issues/78 (3认同)
  • 看起来不错,但缺乏完全控制请求体的能力.目前,它提供键/值能力,但完全控制帖体将是不错的. (2认同)
  • 经过一个多月的等待,新版本已获批准.PUT和DELETE支持已经到来!在那个月,我还做了很多其他的新变化,很快就会在下一个版本中出现.(希望这次能早点获得批准.) (2认同)

dum*_*dad 18

您明确要求"Chrome和/或Firefox中的扩展程序或功能",您已经收到的答案提供了,但我确实喜欢oezi对"如何使用网络浏览器发送帖子请求"这个封闭问题的答案的简单性对于简单的参数.oezi说:

使用表单,只需设置method"post"

<form action="blah.php" method="post">
  <input type="text" name="data" value="mydata" />
  <input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

即建立一个非常简单的页面来测试后期操作.


Nat*_*ate 16

这有点难看,但Chrome 的简单REST客户端扩展.

它对我很有用 - 请记住,你仍然可以使用调试器."网络"窗格特别有用; 它将为您提供呈现的JSON对象和错误页面.


Joh*_*alk 11

对于firefox,还有一个名为RESTClient的扩展,非常好用:

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


Vin*_*uri 8

可能与浏览器没有直接关系,但fiddler是另一个很好的软件.

在此输入图像描述


Sha*_*ayD 8

我认为Benny Neugebauer对关于Fetch API的 OP 问题的评论应该在此处作为答案呈现,因为 OP 正在 Chrome 中寻找手动创建 HTTP POST 请求的功能,而这正是 fetch 命令所做的。

还有就是提取API的一个很好的简单的例子,在这里

// Make sure you run it from the domain 'https://jsonplaceholder.typicode.com/'. (cross-origin-policy)
fetch('https://jsonplaceholder.typicode.com/posts',{method: 'POST', headers: {'test': 'TestPost'} })
  .then(response => response.json())
  .then(json => console.log(json))
Run Code Online (Sandbox Code Playgroud)

fetch 命令的一些优点非常宝贵:它简单、简短、快速、可用,甚至可以作为控制台命令存储在您的 chrome 控制台上,以后可以使用。

按下 的简单性,F12在控制台选项卡中写入命令(或者如果您以前使用过Enter,请按下向上键)然后按下,查看它挂起并返回响应,这使得它对于简单的 POST 请求测试非常有用。

当然,这里的主要缺点是,与 Postman 不同,这不会通过跨域策略,但我仍然发现它对于在本地环境或其他可以手动启用CORS 的环境中进行测试非常有用。


Cer*_*res 5

您还可以使用WatirWatiN来自动化浏览器。Watir 是为 Ruby 编写的,而 Watin 是为 .NET 语言编写的。不过,我不确定这是否是您要找的。


Ang*_*ala 5

自 Postman 兴起以来,还诞生了一些其他客户端,这里值得一提: