如果我想允许HTTP POST到文本文件* .txt (即,我正在做什么可以是任何可以通过GET访问的静态资源的示例)。
错误是:
服务器错误
405 – 用于访问此页面的HTTP动词不被允许。 您正在查找的页面无法显示,因为使用了无效的方法(HTTP动词)来尝试访问。
我怎样才能做到这一点?
背景 :我正在使用apps.facebook.com打我托pipe的Facebook应用程序和Facebook发送HTTP POST现在通过托pipe我的应用程序的iFrame。 这个Facebook的行为已经有一段时间了,但现在被迫。 反过来,这又迫使我把东西提供给POST动词。
我相信IIS支持大多数扩展types的POST。 你使用IIS7或7.5? 我只是在IIS7.5中testing一个.txt文件,它处理一个POST就好了。
我将检查您的applicationHost.config(c:\ windows \ system32 \ inetsrv),search该部分并检查您的StaticFile处理程序,或者如果您已经有一个处理程序为您的扩展types。 在web.config文件中可以设置相同的值。 确认动词属性允许POST。
一个快速的解决方法,取决于你的访问权限是如何限制pipe理应用程序,是重新命名为正确configuration的文件types。 例如,您可以将静态内容作为aspx文件提供。 用“file.aspx”代替“file.txt”,你就完成了(如果aspx被允许处理POST,它应该是默认的)。
我正在运行的IIS7,不得不去我想发布在IISpipe理器内的文件夹,然后去“请求过滤”,你可以添加“动词”,如后,得到..
这将删除405错误..
我有类似的问题。 我们的应用程序试图发送POST请求到IIS上的静态json文件。 我通过更新web.config文件来修复它:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="JSON" path="*.json" verb="GET,POST" modules="IsapiModule" scriptProcessor="C:\Windows\System32\inetsrv\asp.dll" resourceType="File" requireAccess="None" /> </handlers> <security> <requestFiltering> <fileExtensions> <add fileExtension=".json" allowed="true" /> </fileExtensions> <verbs> <add verb="POST" allowed="true" /> </verbs> </requestFiltering> </security> </system.webServer> </configuration>