我的代碼使用通過CloudFlare服務的XYZ中的API。有時XYZ服務器會超載,並且CloudFlare - > XYZ連接超時。當發生這種情況時,我從CloudFlare獲得一個可讀的HTML頁面。我怎樣才能讓cloudflare返回json而不是html
有什麼我可以包含在我的HTTP請求告訴CloudFlare我是一個應用程序,而不是一個人,並報告任何錯誤在JSON響應?
我的代碼使用通過CloudFlare服務的XYZ中的API。有時XYZ服務器會超載,並且CloudFlare - > XYZ連接超時。當發生這種情況時,我從CloudFlare獲得一個可讀的HTML頁面。我怎樣才能讓cloudflare返回json而不是html
有什麼我可以包含在我的HTTP請求告訴CloudFlare我是一個應用程序,而不是一個人,並報告任何錯誤在JSON響應?
您是否有任何控制API的Cloudflare設置? Cloudflare對using Cloudflare with your API的建議建議禁用始終在線和SmartErrors API URL以防止此問題。
在不改變這些設置的情況下,您無法在請求中更改在此情況下得到的響應。
這可能會實現你在找什麼:https://support.cloudflare.com/hc/en-us/articles/206777107-What-is-Enable-Origin-Error-Pages-
有了這使您可以發送自己的錯誤頁面 - 這大概是你會在JSON而不是HTML發送。
不,我無法控制提供該API的第三方。我有點兒希望我可以完全從客戶那裏影響它。我會認爲一個http Accept:application/json頭可以做到這一點,但顯然不是。 – pinoyyid
@pinoyyid對不起,但即使Clodflare榮譽您的'接受'標題這是一個瘋狂的quesiton。如果XYZ決定不再使用Clodflare會怎麼樣?依賴第三方的第三方是一個非常糟糕的決定。在你自己的代碼中檢查響應是否是json並不難。 –