2016-07-13 20 views
0

私のように私のサーバーレスポンスからURLを取得しています:URLエンコーディングの問題

https://baseURL/The+Man+in+the+High+Castle+Official+Trailer+%E2%80%93+2+th.m3u8

と私のようにエンコーディングをしています:

videoURL = videoURL.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())! 

が、この特定を再生することはできませんavplayer url。 は、URLのエンコードで問題があるようです。

+1

すでに文字列をエンコードしているときに、「stringByAddingPercentEncodingWithAllowedCharacters」を使用しているのはなぜ。単純な文字列を追加するだけです。 – WasimSafdar

答えて

2

あなたのURLはすでにパーセントエンコードされています。

再度エンコードすると、パーセント部分が2回エンコードされ、無効なURLが与えられます。

あなたのURLからパーセントエンコーディングを削除し、再度設定することであることを確認することができます。

let base = "https://baseURL/The+Man+in+the+High+Castle+Official+Trailer+%E2%80%93+2+th.m3u8" 
let decoded = base.stringByRemovingPercentEncoding! 
print(decoded) 
let encoded = decoded.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLFragmentAllowedCharacterSet())! 
print(encoded) 
関連する問題