问题标签 [http-put]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1998 浏览

asp.net - 从 ASP.NET 中的 .ashx 处理程序服务 HTTP PUT 而无需调整文件权限

我有一个 .ASHX 处理程序,我想用它来处理 HTTP PUT 以允许我将文件上传到 Web 服务器 - .ASHX 文件实际上上传了数据并将文件粘贴到其他地方,因此它实际上从未接触过这里的磁盘.

我已将 web.config 设置为允许它处理 HTTP PUT,但 IIS 不会将请求传递给我的代码,除非我将 .ASHX 文件本身的 ACL 设置为可写——这有点傻,因为我们'实际上并不会写入这些文件。

如果我设置了 ACL,它可以正常工作,但我希望能够处理文件而无需设置 ACL(我确信有一种适当的方法可以使 IIS 只需将 HTTP PUT 传递给 . ASHX 文件,而不检查文件本身的权限。

这是在 Win2008 R2 上(实际上是在 Azure 的 2008 R2 上,但应该是一样的),使用 .NET 4.0

401 - Unauthorized: Access is denied due to invalid credentials. You do not have permission to view this directory or page using the credentials that you supplied.

0 投票
1 回答
536 浏览

rest - 在 ASP.Net Web API 中,如何伪造 PUT 和 DELETE?

我正在试验 ASP.Net Web API,按照惯例,它将控制器方法拆分为 Restful 风格的 Get()、Put、Post 和 Delete。我的问题是如何处理可能来自非 Ajax 浏览器请求的 PUT 和 DELETE 请求。

所以,假设我有 id = 123 的 foobar。正常的获取请求是

要删除该项目,Restful 方法是发出:

但是,如果您的请求来自非 Ajax 浏览器请求PUTDELETE则它们不是浏览器标准,并且没有足够的主要浏览器支持值得信任。所以一个普遍接受的解决方法是:

对于新的 ASP.Net Web API,是否有解决此问题的最佳实践/通用方法?我想要的是任何带有 a 的东西都_method=DELETE被路由到DELETE()控制器中的方法并被_method=PUT路由到控制器的 PUT() 方法。

0 投票
1 回答
2773 浏览

java - 使用带有上传进度的 Java 中的 PUT 请求上传文件

我正在尝试做一些非常简单的事情,但到目前为止,我尝试各种方法都没有成功。我尝试使用 simple java.io.Socket、使用 ajava.io.HttpURLConnection和最后使用 a上传到 URL org.apache.commons.httpclient.HttpClient,但每次都未能成功。

我需要提出这样的请求:

我需要将文件的字节(可能来自 a FileInputStream)写入包含视频字节的主请求正文。

我基本上有两个要求:

  1. 我必须使用 PUT 请求将文件上传到给定的服务器。
  2. 我必须能够看到上传的进度。

如何在 Java 中实现这一点?


编辑

这是我尝试使用 Apache 执行此操作HttpClient

这失败了,但有一个java.net.SocketException: Broken pipe例外。

0 投票
1 回答
1294 浏览

.net - 如何在 Visual Studio Development Server Web 服务器中启用 PUT 和其他 HTTP 方法?

我想在本地调试一个使用 HTTP PUT 方法接受请求的 Web 服务,但是当我尝试这样做时,Visual Studio 开发服务器 Web 服务器返回错误消息“(405) Method Not Allowed”。

请参阅相关问题Visual Studio 的内置 Web 服务器是否支持 HTTP PUT?.

0 投票
1 回答
714 浏览

objective-c - RestKit PUT 不工作

我正在尝试使用 RestKit 做一个相当基本的 HTTP PUT。我不想放置整个对象,因为 API 调用旨在接受单个查询参数并仅更新该字段。到目前为止,我尝试了两种方法,均不成功。

要发布到的 URL:https://myserver/api/users/{userId}

查询字符串参数:verificationCode=

示例用法:PUT https://myserver/api/users/101?verificationCode=646133

方法 #1:将查询参数放在 RKParams 对象中,并使用这些参数进行 PUT 调用。

方法 #2:构建整个 url 并尝试将参数设置为 nil 的 PUT。

这两种方法都不适合我。第一个失败说“RestKit 被要求重新传输请求的新正文流。可能的连接错误或身份验证挑战?” 然后运行大约 10 秒并超时。第二种方法失败说 HTTP 状态 405 - 方法不允许。

谁能指出我哪里出错了,或者为我提供一个使用 RestKit 的简单 PUT 示例?我在那里找到的大多数示例都放置了我不想在这种情况下做的整个对象。


更新:

一旦我在服务器端整理了一些东西,方法 #2 就很有效。最终解决方案:

0 投票
1 回答
5037 浏览

ruby - 使用 ruby​​ Net:HTTP API 将文件上传到远程 apache 服务器失败并出现 409 冲突

下面是一个将文件从本地文件系统上传到远程 Apache 服务器的程序。

程序以 409 冲突错误结束。有什么建议我做错了什么吗?我在 httpd.conf 中打开了 DAV 并授予了所有必要的权限,但我仍然没有运气。如果需要,我可以发布 httpd.conf。

这是代码:

及其输出:

0 投票
1 回答
1069 浏览

java - 使用 HttpPut Request 发送的查询参数未正确读取

我正在尝试向服务器发出 HttpPut 请求并使用它发送一些参数,但是我认为由于服务器发送错误消息而未检测到参数。我的代码是:

它说,服务器不支持 PUT 方法,但服务器确实支持它。尝试进行大量研究但没有成功,因为大多数帖子仅用于 POST 和 GET。任何帮助将不胜感激。

谢谢。

0 投票
3 回答
5520 浏览

asp.net-mvc - MVC 4. IIS 7.5 PUT 返回 405

我正在尝试在 MVC 4 应用程序中使用 PUT,但出现 405 错误。

在我的路由中,我对路由有一个限制,以允许 PUT 和 POST,POST 到端点有效,PUT 失败并显示 405。

我已按照此处的建议ASP.NET Web API 仅在某些服务器上为 PUT 返回 404,而此处ASP.NET MVC 在 HTTP DELETE 请求上出现 405 错误?

我还从 IIS 中删除了 WeDAV,但我仍然收到 405。还有其他建议吗?

我在 IIS 8(使用 Visual Studio 2012)上也遇到了完全相同的问题,因为我遵循了这个建议ASP.NET Web API - PUT & DELETE Verbs Not Allowed - IIS 8并且仍然没有运气

0 投票
2 回答
9744 浏览

php - 如何使用 PUT 而不是使用 PHP 的 POST 上传文件

我正在构建我的第一个 REST Api,到目前为止一切顺利,我只是遇到了通过PUT请求方法上传文件的问题。我需要这样做是PUT因为我正在从 iOS 应用程序更新用户及其头像图像,而 PUT 专门用于更新请求。

所以当我PUT和文件上传时,$_FILES数组实际上是空的,但是当我打印PUT数据时

我得到以下回复;

现在我并不真正理解这些PUT数据,因为我不能像数组或任何东西一样访问它。所以我的问题是如何从PUT数据中访问上传的文件?

谢谢你的帮助。

0 投票
6 回答
105543 浏览

c# - 如何在 IIS 中为 ASP.NET MVC 启用 HTTP PUT 和 DELETE?

我在我的 ASP.NET MVC3 应用程序中PUT使用HTTP 。DELETE当我在本地运行它时,一切正常;但是当我将应用程序发布到服务器时,这些方法不起作用。

是否有任何特殊设置可以使 Web 服务器支持PUTDELETE请求?我正在使用 IIS 7.5 的共享主机。

更新:

我启用PUTDELETE请求IIS manager. PUT命令工作正常。但DELETE仍然无法正常工作。我通过以下方式创建请求jQuery

我在这个页面:

我的ajax调用是:

这将创建一个这样的请求:

有了这个Form Data