ApsaraVideo for Media ProcessingAPI中的URL參數需要編碼(URL Encode)後才能在介面調用過程中被傳輸。如果URL Encoding方式不當會導致找不到預期檔案。本文介紹ApsaraVideo for Media Processing的URL Encoding方式。
ApsaraVideo for Media ProcessingURL Encoding方式
ApsaraVideo for Media Processing的URL Encoding基於UTF-8編碼,遵循RFC2396標準。例如:您的源串為阿里雲/mts HD+.mp4
,需要被編碼為%E9%98%BF%E9%87%8C%E4%BA%91/mts%20HD%2B.mp4
。更多資訊,請參見RFC2396。
URL Encoding標準對比
ApsaraVideo for Media Processing的URL Encoding遵循RFC2396標準。基於不同標準實現的lib在最終輸出的編碼上略有區別,主要是對空格和加號(+)採用不同的URL Encoding方式。具體樣本如下:
編碼通訊協定 | 空格(' ' ) | 加號('+' ) |
x-www-form-urlencoded | '+' | '%2B' 說明 x-www-form-urlencoded中空格被轉譯成加號表示串連,所以加號必須轉義。 |
RFC1738 | '%20' | '+' |
RFC2396 | '%20' | '%2B' 說明 RFC2396的保留字中包含加號(+),所以加號必須轉義。 |
RFC3986 | '%20' | '%2B' |
說明 RFC3986的保留字中包含mark,所以mark必須轉義。RFC2396中mark不強制轉義。