Django url 名字不能叫ping 的奇怪现象

摘要:在用Django开发接口的时候的,写了一个叫ping 的接口,调试了一天都是404是在把自己迷倒了,后面发现如果把接口名改成其他的就行了,在后续的眼前中发现chrome中去接口名ping才会这样。

 

奇怪现象复现

定义接口ping使用Chrome请求时自动补成ping/ 导致请求404. 用drf_ysag

奇怪问题的代码如下

使用chrome中使用drf_yasg与直接请求响应如下 ,在右图中可以看到服务器是识别到的请求时ping/

使用Chrome浏览器请求,我们也能看到URL中有ping的项,注意到细节是请求的后面多了个斜杠。尽管或请求的是ping,服务器也把它重定向到了ping。

 

后续的实验发现使用Edge就不会出现这样奇怪的现象。

 

试出来的解决方案

既然发现Chrome浏览器自动吧ping 变成ping/ 那把url写成ping/ 这样改后 无论是chrome还是edge请求都能 正常响应

换个名字呢

我把ping换成qing还用之前的方式注册路由

 然后 chrome正常响应 也没有自动变成qing/;太迷了 我折腾两天就这!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值