我使用Twilio可編程傳真API從我的應用程序發送的傳真信息。 我在發送傳真時沒有遇到任何問題,這是因爲我提供的公開網址沒有任何身份驗證,因爲mediaUrl用於發送傳真。 但是當我傳遞一個帶有基本身份驗證的url作爲發送傳真API的mediaUrl時,傳真發送失敗。確保twilio傳真mediaUrl
"status": "failed",
我已經調試在其上mediaUrl訪問服務器上的代碼,可以發現,Twilio是不是在所有發送帶有「授權」頭的請求。
按Twilio文檔,
You may provide a username and password via the following URL format.
https://username:[email protected]/my_secure_document
Twilio將使用所提供的 用戶名和密碼進行身份驗證到Web服務器,併爲 呼叫的持續時間將保持登錄狀態。我們強烈建議您在加密時使用 的HTTP身份驗證。有關基本和摘要 身份驗證的更多信息,請參閱您的Web服務器文檔。
如果指定一個受密碼保護的URL,Twilio將首先發送一個請求 沒有授權頭。在您的服務器 響應401 Unauthorized狀態碼,一個WWW-Authenticate頭,並在響應境界 ,Twilio將與 Authorization頭
我給mediaUrl在同一個相同的請求格式按照Twilio的要求。但傳真機失敗後得到回覆。請提供寶貴的建議以幫助我解決問題。
我的服務器發送401響應時Twilio訪問而無須授權報頭的mediaUrl如下面給出的,
HTTP響應報頭401
Status Code: 401 Unauthorized
Content-Length: 34
Content-Type: application/xml
Date: Wed, 30 Aug 2017 12:38:41 GMT
Server: Apache-Coyote/1.1
WWW-Authenticate: Basic realm="My Realm"
響應身體
<message>Invalid credentials</message>
當服務器未發送身份驗證時,您的服務器是否發回格式正確的401響應? – Andy
是的,我發送了一個良好的401響應。更新了401問題的答案。請檢查。 – syed
似乎沒問題。在您的訪問日誌中,您是否可以看到Twilio嘗試使用包含授權標頭的第二個請求來檢索媒體? – Andy