程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

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

編輯:Python

摘要:在用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/;太迷了 我折騰兩天就這!!!

 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved