post 405 method not allowed

HTTP 405 错误 – 方法不被允许 (Method not allowed)  

 

介绍

HTTP 协议定义一些方法,以指明为获取客户端(如您的浏览器或我们的 CheckUpDown 机器人)所指定的具体网址资源而需要在 Web 服务器上执行的动作。则这些方法如下:

  • OPTIONS( 选项 ) :查找适用于一个特定网址资源的通讯选择。 在不需执行具体的涉及数据传输的动作情况下, 允许客户端来确定与资源相关的选项以及 / 或者要求, 或是一个服务器的性能。
  • GET( 获取 ) :检索由网址资源所确定的信息,如获取一个特定的网页或图片。这是最常用的方法。
  • HEAD( 头 ) :除了服务器只反馈标头信息而不是网址资源所确定的信息本身外, 基本同于 GET ( 获取 ) 。 可用于获取一个请求所要求的响应实体的元信息 ( metainformation) ,而不需传输响应实体本身。 经常用来测试超文本链接的有效性, 可达性, 和最近的修改。
  • POST( 投寄 ) :将数据提交到 Web 服务器,如 1 )在电子公告板,新闻组中,或向 邮件名单发送信息, 2 )提供输入数据 - 通常由一个公共网关接口(CGI) 表, 到 一个数据处理进程, 3 )直接将记录添加到一个数据库中。
  • PUT( 放置 ) :将一个具体网址的数据设置( 置入 / 替换)成客户提交的新数据。例如,将新的网页上载给服务器。
  • DELETE( 删除 ) :删除与网址资源相关的数据。例如,删除网页。
  • TRACE( 跟踪 ) :运行请求信息的一个远程应用层回送。 实际上是一个 'ping', 用以测试 Web 服务器正在从客户端接收什么数据。
  • CONNECT( 连接 ) :保留以便通过代理服务器和隧道一起使用(如 SSL )。这种方法只在 HTTP 1.1 版中定义, 而在先前的 1.0 版中却没有。

所有 Web 服务器都可以被设置为允许或不允许任何方法。例如,如果一个 Web 服务器是 ' 只读 ' (客户端不能修改 Web 服务器上的网址资源) ,那么它可以被设置为不允许 PUT 和 DELETE 方法。 同样,如果没有用户输入(所有的网页都是静态的) , 那么 POST 方法可设置为不允许。 所以, 405 错误可能会因 Web 服务器没有被设置为从客户端接受输入数据而出现。 另外, 如果客户端对请求中指明的具体网址资源没有足够的权力, 该错误也会出现。

 


 

 

也就是说,在IIS中,html页post数据到另一个html页都会出现405 method not allowed,而我测试把文件放本地不能过IIS,直接用浏览器打开就不会出现这种错误的。

 

看来还是要深入了解IIS的 “请求筛选”,之前一直以为只要是HTML纯静态文件,IIS就直接把脚本扔给浏览器就不管了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
POST 405 (Method Not Allowed)错误表示在使用POST方法访问某个URL时,服务器不允许该方法。这可能是由于服务器配置或权限设置引起的。解决这个问题的方法有以下几种: 1. 检查URL和请求方法:确保你正在使用正确的URL和请求方法。有时候,错误的URL或请求方法会导致405错误。 2. 检查服务器配置:检查服务器的配置文件,确保服务器允许使用POST方法。具体的配置方法可能因服务器类型而异,你可以查阅相关文档或联系服务器管理员获取帮助。 3. 检查权限设置:如果你正在访问的URL需要特定的权限才能使用POST方法,确保你具有足够的权限。如果你是网站的管理员,可以检查权限设置并进行相应的更改。 4. 检查请求头:有时候,服务器可能会检查请求头中的某些字段来确定是否允许使用POST方法。你可以尝试添加或修改请求头中的字段,以满足服务器的要求。 5. 使用其他方法:如果无法解决POST 405错误,你可以尝试使用其他方法,如GET或PUT,来访问相同的URL。但请注意,这只适用于不需要使用POST方法的情况。 下面是一个使用cURL库发送POST请求的示例代码: ```php $url = "http://example.com/api"; $data = array("key1" => "value1", "key2" => "value2"); $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response; ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值