全部產品
Search
文件中心

:輕量訊息佇列(原 MNS)返回“[Error Code]:InvalidRequestURL, [Message]:Http request URL format invalid”的錯誤

更新時間:Sep 24, 2025

當使用者發出請求的URL有誤時,輕量訊息佇列(原 MNS)伺服器端會返回Http request URL format invalid。本文介紹不同情況下如何排查。

問題描述

輕量訊息佇列(原 MNS)服務端返回下列錯誤:

[Error Code]:InvalidRequestURL, [Message]:Http request URL format invalid

問題原因

引發該報錯的可能性如下:

  • 原因一:使用SDK時,Endpoint地址錯誤。

  • 原因二:使用隊列API時,協議版本與請求URL不匹配。

解決方案

不同問題原因的解決方案不同,詳情如下:

原因一

如果使用輕量訊息佇列(原 MNS)的SDK,請檢查程式碼中的Endpoint值是否正確。正確的Endpoint地址擷取方法如下:

說明

常見錯誤是在代碼中將Endpoint錯寫成隊列地址,導致報錯。樣本如下:

  • 正確:String endpoint = "http://4xxx4.mns.cn-beijing.aliyuncs.com/";

  • 錯誤:String endpoint = "http://4xxx4.mns.cn-beijing.aliyuncs.com/queues/LTQueue/";

  1. 登入輕量訊息佇列(原 MNS)控制台

  2. 在左側導覽列,選擇队列模型 > 队列列表

  3. 在頂部功能表列,選擇地區。

  4. 队列列表中,找到目標隊列,在其右側操作列單擊详情

  5. 隊列詳情頁面的接入点地區,查看公网访问内网访问對應的Endpoint。

    說明

    Endpoint地址支援HTTP和HTTPS兩種訪問方式。

  6. 使用新擷取的Endpoint值進行測試。

原因二

如果使用隊列API, 請檢查使用的是新協議還是歷史協議,確保請求中的URL符合協議對應的規範。新舊協議規範如下:

協議版本

CreateQueue

SendMessage

新協議(x-mns-version:2015-06-06)

PUT /queues/[$Queue_Name]

POST /queues/[$Queue_Name]/messages

歷史協議(x-mqs-version:2014-07-08)

PUT /[$Queue_Name]

POST /[$Queue_Name]/messages

說明

[$Queue_Name]指隊列名稱。