406 不可接受的錯誤:意義及修復方法
406 Not Acceptable 錯誤是 HTTP 回應狀態代碼,如果伺服器無法正確傳回數據,則會出現該錯誤。由於這是伺服器端問題,客戶端請求將失敗,程式碼將無法正確執行。
這可能是一個主要問題,特別是如果您正在開發每天處理各種請求的服務。幸運的是,有一些方法可以解決這個問題,今天我們將向您展示如何做到這一點。
什麼是「呼叫失敗,狀態碼 406 不可接受」錯誤?
如果從伺服器傳回的資料的格式與發出請求的用戶端不相容,則會出現錯誤代碼 406。
這是一種安全措施,如果伺服器沒有以預期格式傳回數據,則程式碼將不會被執行。
如何修復 406 錯誤?
1.調整程式碼中的accept參數
- 打開你的程式碼。
- 找到發送請求的行並將其更改如下:
profile = personality_insights.profile(profile_text, accept='application/json', content_type='text/plain').get_result()
- 儲存更改。
請注意,accept 參數只能使用 application/json 或 text/csv 值。
2.使用JSON.stringify
- 打開你的程式碼。
- 確保新增 JSON.stringify 函數,如下所示:
$.ajax({ url: 'http://example.com:9200/incidents/incidents', type: 'POST', data: JSON.stringify(this.incident), dataType: 'json' })
- 最後,儲存變更。
請記住,此解決方案僅在物件不是正確序列化的 JSON 字串時才有效。
3. 確保在標頭中指定使用者代理
- 開啟程式碼編輯器。
- 接下來,新增請求標頭並包含它們,如下所示:
page_url = 'https://examplepage.com' headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36', } rawpage = requests.get(page_url,headers=headers)
- 完成此操作後,您所需要做的就是儲存變更。
HTTP 404 和 406 有什麼不同?
當客戶端發送合法請求,但傳回的資料不符合可接受的格式時,會出現 HTTP 406 用戶端錯誤回應。
另一方面,HTTP 錯誤 404回應代碼是最常見的客戶端錯誤之一,也可能是最知名的 4xx 錯誤。當由於找不到請求的資料而無法處理請求時,會發生此情況。
406 不可接受的錯誤可能出現在 Java、Angular 和任何其他支援 HTTP 請求的語言中。這個問題通常會影響開發人員,而不是普通網路使用者。
若要修復此問題,請確保您的用戶端已配置為接受來自伺服器的特定類型的資料作為回應。您還可以更改伺服器配置並調整配置文件,以便伺服器和客戶端都使用支援的格式。
這只是您可能遇到的眾多錯誤之一,在過去,我們介紹了HTTP 錯誤 431和HTTP 錯誤 413,因此如果您需要更多信息,請不要錯過它們。
您使用什麼方法修復 Nginx 中的 406 Not Acceptable 錯誤?在評論部分與我們分享您的發現。
發佈留言