一则“HTTP 405 Method Not Allowed”的解决办法

HTTP状态码 405 Method Not Allowed 摘要: .NET Core站点在IIS部署时,DELETE/PUT请求报405错误,通常由IIS的WebDAV模块拦截或方法未配置导致。解决方案包括:1)在web.config中移除WebDAVModule;2)检查后端路由是否实现对应方法(如app.delete());3)确保CORS中间件允许非标准方法;4)通过Postman直接测试接口。HTTP协议要求服务器通过Allow头声明支持的方法,未列出的方法返回405状态码。建议检查API文档及开发者工具中的请求/响应头,确保符合RESTful规范。 阅读详情
AI摘要

本文探讨了在Angular 1.4项目中遇到的HTTP405错误,并详细介绍了如何通过调整请求头中的“content-type”来解决此问题。

在angular 1.4版本的项目中,程序一直运行正常,突然有一天,在提交表单时,提示“HTTP 405”错误——“Method Not Allowed”。

从字面上的意思理解,很显然是提交方法的类型错误,要么是以GET方式向POST接口提交数据,要么是POST方式项GET接口提交数据,但反反复复检查了后端接口与提交方式,都是POST,完全没有问题。

仔细检查前端代码,发现编写方式如下:

$http({
    method : 'POST',
    url : '/test',
    params : {
        cycle : key,
        emp_id : user.id
    }
 }).success(function (resp) {
    //  处理逻辑
 });

这样的编程方式有两个问题:
1. 提交的参数暴露在外;
2. 默认提交的Header参数“content-type”为“application/json”;

但经过反复的实验,请参见《浏览器查询参数与表单数据的优先级》,第一个问题不会导致405错误,所以很容易确定问题所在,解决办法是明确指定“content-type”,如下:

$http({
    method : 'POST',
    url : '/test',
    params : {
        cycle : key,
        emp_id : user.id
    },
    //  新增content-type头部属性
    heads : {
        'content-type' : 'application/x-www-form-urlencoded'
    }
 }).success(function (resp) {
    //  处理逻辑
 });

如果要解决第一个问题,那么只需要引入$httpParamSerializer服务即可,如下:

$http({
    method : 'POST',
    url : '/test',
    //  以表单方式提交,将Object转换为form参数方式
    data : $httpParamSerializer({
        cycle : key,
        emp_id : user.id
    }),
    //  新增content-type头部属性
    heads : {
        'content-type' : 'application/x-www-form-urlencoded'
    }
 }).success(function (resp) {
    //  处理逻辑
 });

结论

在发生HTTP 405错误,不妨首先检查下请求头部的“content-type”信息。

Feign报错Method Not Allowed 405 5种解决方案 这段代码是在 HttpURLConnection 中发现的,jdk原生的http连接请求工具类,原来是因为Feign默认使用的连接工具实现类,所以里面发现只要你有body体对象,就会强制的把get请求转换成POST请求。Feign发送Get请求时,采用POJO传递参数 Method Not Allowed 405。默认的是jdk的,可以修改为okhttp 或者 httpclent。使用@Validated验证的时候不支持了,需要手动调用校验方法。 阅读详情

相关推荐

HTTP 错误 405.0 - Method Not Allowed 无法显示您正在查找的页面,因为使用了无效方法(HTTP 谓词)。

模块 WebDAVModule 通知 MapRequestHandler 处理程序 ExtensionlessUrlHandler-Integrated-4.0 错误代码 0x00000000

sh2015yao的专栏 2万+

“Method Not Allowed“,405问题分析及解决

第五步想到,我用的是restful接口,增删改查的路径都是一样,通过@PostMapping、@PutMapping、@DeleteMapping、@GeMapping来区分行为。且这个接口不需要传参,如果传参了也是不会报错的,比如,我们访问http//baidu.com和http//baidu.com/sbbaidu=1是一样的。因为匹配到了查询的接口,这个接口就是@GetMapping,所以和@DeleteMapping并不一致,就报了405错误。于是修改了方法的路径,还是不行。...

jiey0407的博客 8159

【项目实战】常见的HTTP状态码(405 - Method Not Allowed)

405 Method Not Allowed错误是HTTP协议中常见的状态码,表示客户端使用的请求方法不被服务器支持。该错误通常发生在以下情况:使用了服务器不支持的HTTP方法(如PUT/DELETE代替GET/POST)、服务器禁用了特定方法、服务器配置错误或跨域请求限制。解决方法包括检查请求方法是否正确、了解目标资源支持的方法、修改服务器配置或改用其他实现方式。与403/404不同,405错误特指HTTP方法不被允许,而非权限或资源存在问题。

奶爸的编程之路,也就一周冷个三天 3万+

405错误(Not Allowed) 的原因及处理方式

在前端开发中,405 状态码表示 “方法不被允许(Method Not Allowed)”。这意味着客户端(通常是浏览器)试图使用一种服务器不允许的 HTTP 方法来访问某个资源。例如,服务器可能只允许使用 GET 方法来获取某个 HTML 文件,但客户端却使用了 POST 方法进行访问,此时就会出现 405 错误。

jxnd123456的博客 10万+

PHP使用cURL访问域名返回“Method Not Allowed“错误的解决方法

当使用PHP中的cURL库访问域名时,如果返回"Method Not Allowed"错误,首先要检查请求方法是否正确,并确保与服务器要求一致。在使用cURL发送请求之前,确保你使用的是正确的请求方法。例如,如果你尝试发送一个POST请求,但服务器只允许GET请求,那么就会返回"Method Not Allowed"错误。当使用PHP中的cURL库访问某个域名时,有时候可能会遇到返回"Method Not Allowed"的错误。在使用cURL发送请求之前,尝试设置必要的请求头信息。方法一:检查请求方法。

YxmtAi的博客 905

影刀RPA:轻松搞定Excel表格自动化操作

影刀RPA是一款功能强大的自动化工具,通过模拟人类操作实现各种重复性任务的自动化。零代码操作:通过拖拽式流程设计器,无需编程基础即可快速上手。功能丰富:提供丰富的组件库,涵盖文件操作、数据处理等多种功能。高效稳定:支持多任务并行,确保任务的高效执行和稳定性。支持Python语法:内置数据表格,支持Python语法,对新手友好,同时具备循环功能。通过影刀RPA,您可以轻松实现Excel表格的拆分、列数据合并和归档工作的自动化。这不仅节省了手动操作的时间,还能确保数据处理的高效和准确,提升工作效率和管理水平。

watwrmoon的博客 2560

HTTP 405 Method Not Allowed问题的解决

项目中在提交表单时,提示“HTTP 405”错误——“Method Not Allowed” 这里显示的是,方法不被允许。也许经验丰富的开发人员一眼就明了当前的问题。 从字面上的意思理解,很显然是提交方法的类型错误,要么是以GET方式向POST接口提交数据,要么是POST方式项GET接口提交数据。 此时,目前我们的经验仍不足,第一步我们该从哪里着手考虑呢? 着手点: 在SpringBoot中,修改application.yml文件,mybatis-plus中添加如下配置: 这样在后台测试的时

qq_44592915的博客 2万+

提供一个微信投票刷票的js代码

最近几天,有个朋友找我去写一个脚本帮他 在微信上刷票、微信投票刷票,我大概看了一下,本次微信投票刷票其实就是根据微信的openid来限制,每个openid只能投三次票的限制。上图可以看出,其实只要openid,和toopenid即可,openid是自己的微信id,toopenid是投票对象的微信id,那我们定时修改openid即可给某一个人刷投票。把这段代码复制到浏览器F12之后的console里,直接回车即可开始微信投票刷票(刷新或关闭浏览器即可停止刷票)//生成随机的ip地址。

qq_858865388专业提供快速微信投票教程攻略和方法的博客 2万+

“HTTP 405 Method Not Allowed”的解决办法

HTTP 405错误表示服务器不支持请求的HTTP方法,常见原因包括URL错误、服务器配置问题或插件冲突。解决方法包括检查URL拼写、验证HTTP方法、调整服务器配置文件(如.htaccess)、检查文件权限(WordPress建议755/644)、禁用插件排查冲突、清除缓存以及查看服务器日志。对于更新后出现的问题可尝试回滚版本,操作前建议备份数据。若无法解决,可联系主机提供商获取支持。

likuoelie的博客 2102

易康eCognition9.0分类|规则集和机器学习的方法的面向对象的多尺度分割分类

基于易康eCognition9.0软件的规则集和机器学习的方法的面向对象的多尺度分割分类

weixin_46493028的博客 1万+

Android 13高通平台CTS camera部分fail项修改(续)

接着上一篇,有几个提了case高通也分析了很久的fail项,其中最离谱的是问题1,第一个接手case的人反反复复处理、内部排查踢皮球、要求log,折腾了很久,最终就给出个解不了的结论。后面还是靠着自己发现了一些蛛丝马迹,并且换了个case接手人才最终解决。

hkj887tg的博客 2060

HTTP 405 Method Not Allowed:解析与解决

HTTP 405 “Method Not Allowed” 是一个客户端错误响应状态码,表示请求中指定的方法(如GET、POST、PUT等)对于目标资源来说是不允许的。换句话说,服务器知道请求的目标资源,但请求方法不被该资源支持。HTTP 405 “Method Not Allowed” 错误是一个常见的客户端错误,通常发生在请求的方法不被服务器支持的情况下。通过检查API文档、修改请求方法或更新服务器配置,我们可以有效地解决这个问题。

Bruce_xiaowei的博客 1万+

保姆级教程:用HFSS 2023 R2搞定GPS右旋圆极化微带天线(从建模到优化全流程)

本文提供了一份详细的HFSS 2023 R2教程,指导读者从零开始设计GPS右旋圆极化微带天线。涵盖建模、仿真和优化全流程,特别关注圆极化特性的实现与优化,帮助工程师快速掌握天线设计的关键技术。

weixin_42557830的博客 169

jupyter异常及解决办法记录

新环境安装jupyter异常及解决办法记录。

a1473227656的博客 327

Xilinx Aurora 8B/10B IP核详解和仿真

Xilinx Aurora 8b/10b IP核的详解,以及使用与仿真示例,对IP核的配置和如何仿真有非常详细的说明,除了对IP核官方文档的内容进行了解析以外,还对GTX引脚的选择等比较容易混淆和不好理解的地方进行了说明。最后对IP核的仿真运行进行了STEP BY STEP 的说明,对仿真的结果也进行了简要的说明。 该文档对Xilinx FPGA和ZYNQ SOC下 AURORA 8B/10B IP核的使用提供了一个快速上手的指导。

weixin_43354598的博客 1万+

AWR射频仿真基本操作(一)

这里只讲述一个基本的操作: 软件是AWR 14版本

钢丝 2万+

【项目实战】深入解析HTTP状态码:405 Method Not Allowed

405 Method Not Allowed是一个用于指示服务器理解请求客户端所使用的方法,但该方法对请求的资源是禁用的。简而言之,这个状态码表示客户端看起来发出了一个有效请求,但HTTP方法(如GET、POST、PUT等)不被允许。405 Method Not Allowed是一种常见的HTTP状态码,用于指出客户端使用了不被当前资源允许的HTTP方法。理解和妥善处理这一状态码是提高网络应用和API用户体验的关键。

一勺菠萝丶的博客 1万+

基于粒子群算法优化的灰色预测模型GM实现数据预测(附带MATLAB代码)

灰色预测模型(Grey Model,简称GM)是一种常用的非线性时间序列预测方法,它在处理少量数据和缺乏规律性的序列预测问题上表现出良好的性能。c. 建立灰色微分方程:根据紧邻均值生成序列建立灰色微分方程,通常形式为:dx(n) + ax(n) = b,其中dx(n)是紧邻均值生成序列,x(n)是原始序列。为了提高GM模型的预测准确性,我们将使用粒子群算法来优化灰色微分方程的参数a和b。a. 利用灰色微分方程进行预测:根据已得到的灰色微分方程,进行后续时间点的数据预测。首先,定义了两个函数。

CoderExtra的博客 606

关于Nginx 配置出现 405 Method Not Allowed 一次血的教训

遇到错误 在一次文件(头像)上传中,出现了错误 405 Method Not Allowed (本地和直接 ip服务服务器都没有问题),于是直接把错误的矛头直接指向了 Nginx 我的配置如下,访问域名转发到9049, 在此处配置了 oss 路径,用于访问阿里云的 oss 存储对象文件 百度了一下资料,大致错误的意思就是: httppost请求目标网站会出现405 状态码,原因为 Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求, 所以将post请求改为get请求

ws - 兮的博客空间 6万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

post 405 method not allowed

HTTP 405 错误 – 方法不被允许 (Method not allowed) 介绍 HTTP 协议定义一些方法,以指明为获取客户端(如您的浏览器或我们的 CheckUpDown 机器人)所指定的具体网址资源而需要在 Web 服务器上执行的动作。则这些方法如下: OPTIONS( 选项 ) :查找适用于一个特定网址资源的通讯选择。 在不需执行具体的涉及数据传输的动...

diedangxiang4092的博客 1960

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WebApi HTTP Put 405 Method not allowed

遇到一些问题,总结一下

Repeat 1852

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

一次诡异405 METHOD_NOT_ALLOWED “Request method ‘POST‘ not supported“问题排查记录

问题排查思路

lonelymanontheway的博客 7956

C#-WebApi-405 method not allowed Web API

405 method not allowed Web API Ask Question Asked7 years, 1 month ago Active5 months ago Viewed217k times 84 8 This error is very common, and I tried all of the solutions and non of...

cxu123321的博客 2322
上一篇: extract-text-webpack-plugin配置出错的解决办法
下一篇: HttpClient Not in GZIP format的解决办法
蚁方阵
博客等级 码龄11年 505粉丝 366原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值