常见的HTTP操作是GET和POST-例如GET是由每个网络浏览器实现的,当网页是Web表单(例如,带有<input>和Submit按钮)时,POST也是如此。

PUT和DELETE呢?我想这些可以用来编辑网站的静态内容(即页面)。哪些应用程序提供/实现了此功能?


通过UI-即不仅仅是API
可能没有其他(即不一定是庞大且多功能的)应用程序)
可能是免费的(免费和/或免费)并且能够在Windows上运行吗?
非技术最终用户可以(无需编程)使用该应用程序,而不仅仅是使用的API通过其他软件,例如JavaScript

我想它会像FTP客户端软件一样,除了通过HTTP(S)而不是FTP以外,对吗?

要求这样的基本工具(也许是很平常的事情),我发现Google很难做到这一点。

这个问题-即“ [http]放”-以前似乎没有在这里问过

评论

我使用了将所有4个动词用于相应的“ CRUD”操作的API:PUT-创建一个新对象; GET-读取对象; POST-更新对象;删除-删除对象。它看起来太聪明了,而不仅仅是使用基本的GET / POST动词。

所有相对较新的浏览器也都积极使用OPTIONS(用于CORS请求)。此外,浏览器(通过JavaScript)还支持PUT / DELETE,而REST服务经常会公开PUT / DELETE ...

@Jim POST已创建,PUT已更新。参见w3.org/Protocols/rfc2616/rfc2616-sec9.html

@HansKilian实际上可以同时使用PUT-根据您刚刚链接的相同规格

#1 楼

WebDAV协议使用PUT(和DELETE)动词,因此任何与WebDAV兼容的软件都可以满足您的要求。 WebDAV支持广泛,例如,每个主要的操作系统都在其文件浏览器中支持它,包括Windows资源管理器。

(此外,还存在WebDAV扩展,用于管理联系人和日历条目,例如GroupDAV,哪些主要邮件客户端(如Thunderbird和Microsoft Outlook)具有相应的插件;还有版本控制系统Subversion,该版本控制系统通常在另一个WebDAV扩展中使用,因此大多数邮件客户端和每个SVN客户端都可以回答您的问题哪些软件可以使用PUT,但是这类客户端对于编辑静态网站内容并不是真正有用。)

评论


哇。您是在说我可以使用Windows资源管理器来读取/写入/浏览/删除网络服务器通过HTTP公开的目录结构(即“路径”)中的文件吗?

– ChristW
19年5月7日在13:55

是的,如果服务器实现了此功能(通过支持WebDAV)并将其允许您使用(通常这种访问受密码保护)。

– Philipp Wendler
19年5月7日在13:57

例如,在Windows资源管理器中打开https:\\ live.sysinternals.com(解释)。

– Philipp Wendler
19年5月7日14:00

那是“遥远的”。谢谢。

– ChristW
19年5月7日在14:03

仅当您要与之交谈的服务器支持WebDAV时才有用,这种情况很少发生。

–James_pic
19年5月9日14:00

#2 楼

我建议为此使用Postman。


它支持所有HTTP动词,不仅支持GET,POST,PUT和DELETE。某些操作可能需要设置HTTP标头(例如用于身份验证),并且它也支持HTTP标头。
您可以为请求提供原始正文,也可以提供Postman可以转换为例如的键值对。 URL编码的表单内容。
它具有UI。
它确实提供了诸如协作之类的附加功能,但我只是将其用于基本功能,例如对请求进行分组和保存。
它是免费的,并且在Windows和其他几个操作系统上运行。



评论


您击败了我:-)多年来,我一直在使用PostMan进行此类操作,但没有发现任何更好的方法。

–莫格说要恢复莫妮卡
19年5月7日在13:33

只是为了使其更加完整。以下是一些替代方案:Insomnia(insomnia.rest)-可用免费版本Paw(paw.cloud)-付费SoapUI(soapui.org)-可用的开源版本HTTPie(httpie.org)-开源的CLI

– eKKiM
19年5月8日14:04



@eKKiM,应将其作为单独的答案发布(如果您提到软件如何满足要求,则所有答案都将在此处进行)。评论旨在改善有关Postman的当前帖子。

– Glorfindel
19年5月8日14:05



#3 楼

可能比您要查找的级别低一些,但是cURL基本上可以满足您的要求。


虽然它主要是供其他软件使用的库,但它具有一个命令行界面实际上对于大多数任务来说都很容易使用。
它是100%FOSS(使用许可许可证)。
它支持完全任意的HTTP请求类型。显然,PUT和DELETE可以按要求进行,而且还可以使用其他更奇特的东西,例如OPTIONS,TRACE,PATCH和各种WebDAV扩展(实际上是几乎所有东西,只要它不需要在请求中封装连接)。一堆其他有用的功能,例如直接支持大多数身份验证类型,指定任意请求标头,提供带有请求的特定HTTP cookie,HTTP / 2,TLS以及大量其他内容(包括几乎可笑的协议数量)
它很小(主要是因为它没有图形用户界面)。

使用PUT上传本地文件的示例命令(不进行任何身份验证,但应该可以在HTTPS上正常工作):

curl -X PUT --data-binary @/some/local/file.txt -o response.txt https://example.com/file.txt


这将获取/some/local/file.txt的内容,将其用作对https://example.com的PUT请求的请求正文,保存响应到本地系统上的response.txt,并显示一个不错的进度表以进行上传。


它请务必注意,无论您使用哪种工具,Web服务器都必须支持它。在大多数情况下,这意味着该服务器的管理员必须显式启用对此服务器的支持,但即使那样,在所有服务器上它也不一定总是完全一样。

此外,您可能想要研究WebDAV,它涵盖了这一点,在所有主要平台上均具有良好的客户端支持,并提供了许多其他功能(例如创建目录)。

HTTP PATCH请求也可能引起您的兴趣,该请求使您可以上传补丁(未指定格式)以就地修改资源,而不必重新上载整个资源。尽管对此的支持比WebDAV或PUT和DELETE还要糟糕。

评论


是的,我使用cURL的频率很高(编写了调试例程,可以输出cURL命令以模拟软件的请求)。恕我直言,即使您更喜欢GUI,也值得学习,但是我没有提到它,因为GUI是问题中的要求之一。还是+1。

– Glorfindel
19年5月8日在6:31

@Glorfindel鉴于我自己的经验,cURL确实在很多人愿意处理的命令行中很短,因为它是如此灵活(它确实提供了一些非常好的诊断信息和进度信息),这是因为它非常灵活。不是因为那样,说实话我可能也不会建议过。

–奥斯汀·海梅加恩(Austin Hemmelgarn)
19年5月8日在14:24

这个。永远不要低估一个好的命令行工具的强度。 @Glorfindel此外,我们中的一些人认为闪烁的光标是图形界面:)

– ivanivan
19年5月8日在20:41

还会推荐卷曲,效果很好,并且没有多余的粗屑

–达蒙
19年5月10日在7:45

#4 楼

您也可以使用restlet客户端,它可以在chrome上作为扩展程序使用。


在某种程度上免费。
具有开源框架。
支持put和其他http请求。

参考文献:

https://restlet.com/documentation/client/user-guide/introduction

评论


我看到它说它是“功能强大且易于使用的请求编辑器”。例如,我可以使用它来读取硬盘驱动器中的文件并将其放置到Web URL吗?我猜想是这样,但是对于半熟练的用户,谁更愿意使用GUI而不是命令行?

– ChristW
19年5月7日在10:27

我没有用到那种程度,但是您可以根据我所知上传文件。

– Abhishek Gurjar
19年5月7日在10:46

感谢您的建议-这值得研究。

– ChristW
19年5月7日在10:50

#5 楼

Fiddler(像啤酒一样免费)是另一种通常用于与HTTP相关的工具,包括构造/执行各种请求。主要用途是调查HTTP流量并测试一次性情况,如果要编写一些多步操作的脚本(例如,您拥有“抓取并上传本地文件”示例),则不是最佳工具。

请注意,浏览器可以使用JavaScript执行所有类型的请求,包括PUT和DELETE(请参见StackOverflow上的一些示例-如何发送PUT / DELETE请求)-因此,如果没有额外的工具,则可以仅使用浏览器及其JavaScript(但可以使用服务的位置)将受同一来源/ CORS政策的限制。

#6 楼

如果您认为浏览器对GET和POST有效,那么对PUT和DELETE也有效。浏览器中运行的JavaScript应用程序经常使用这些文件来修改后端服务器上的数据,例如当您放置或更新评论时

评论


在这个问题中,我正在寻找一个非技术最终用户可以使用(无需编程)的应用程序-JavaScript应用程序不使用该应用程序。

– ChristW
19年5月10日在4:32

@ChrisW尽管许多人似乎已经猜到了,但我认为问题并不清楚。对我来说,它是在您寻找支持所有HTTP方法的软件时读到的,并且您猜测它可能是哪种软件...因此,也许可以使问题更具体,以供将来的读者了解它的要求。

–弗兰克·霍普金斯
19年5月10日在9:10