本地主机网络服务器拒绝 PUT 请求

Localhost webserver denying PUT request

我已经使用 Microsoft IIS 管理在 localhost 上使用 https 配置了一个网络服务器。我可以使用浏览器和 Visual Studio 使用以 https 为前缀的本地主机浏览包含文件的目录,例如 https://localhost/trial

我想上传一个文件到上述目录,即试用,使用Libcurl 来测试一些功能。很遗憾,我无法这样做。

使用与上给出的相同的 Libcurl 示例 Libcurl File Upload

-针对 https 进行了修改,控制台 window 告诉我在 运行 代码上发生了以下情况:

IIS 10.0 Detailed Error - 405.0 - Method Not Allowed

HTTP Error 405.0 - Method Not Allowed

The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.

我查看了IIS Administrator,发现所有的授权都是允许的。我想它标记的是 HTTP 动词问题,而不是我在代码中启用并用作 URL 的 HTTPS,这不是什么大事吗?

Libcurl 使用 PUT 上传文件,因此应该是一个允许的动词。

我对此很陌生,所以我不确定我在设置网络服务器时做错了什么,或者是否存在安全问题或权限问题导致这里出现问题。

  1. 尝试用主机名代替本地主机
  2. 为目录添加尾部斜杠 (/)。

据我所知,如果不编写服务器端代码,就无法使用 http put 或 post 将文件放入 IIS Web 应用程序的文件夹。否则,在您的 IIS 安装上配置一个 FTP 站点。然后你可以使用ftp命令上传文件。

如果确实需要使用HTTP put或post上传文件,可以考虑使用WebDav。

关于什么是webdev以及如何使用它的详细信息,您可以参考下面的文章。

https://docs.microsoft.com/en-us/iis/install/installing-publishing-technologies/installing-and-configuring-webdav-on-iis

https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-7/what39s-new-for-webdav-and-iis-7