2016-04-05 2 views
-1

フロントスラッシュをアンドロイドでエンコードする方法は? (%2Fが動作しない)

AndroidでJSONデータを取得するためのURLにforwardslash( "/")を含む文字列を送信するにはどうすればよいですか?

例: 次のURL、 https://www.example.com/xyz/abc/phone/ios/android 私は(文字列としてではなく、クエリパラメータとして)「電話」のための「アンドロイドIOS /」でURLを追加したいが、それは2、として服用されている場合と仮定"ios"と "android"の値を返します。返す... {"例外": "パラメータアンドロイドの値がありません"}

1) "URLEncoder"で試してみましたが、取得していません。 2) "%2F" と( "/")フロントスラッシュを置き換える、 "%252F" など試み..しかし、それはブランクアレイ( "[]")を返す

+0

%21で試してみてください。 –

+0

あなたは 'Uri.Builder'クラスを試してみるべきです。確かにエンコーディングを処理していることを確認してください –

+0

1)%21がエンコードされていない、空の配列を再び返します 2)android.net.Uri.Builder;私はこのようにしてみました: Uri.Builder builder = new Uri.Builder(); builder.scheme( "HTTPS") .authority( "www.example.com") .appendPath( "XYZ") .appendPath( "ABC") .appendPath( "電話") .appendPath(」 ios /アンドロイド ")。 文字列myUrl = builder.build()。toString(); 私は応答を得ています:「見つかりません」 URLを表示しようとしました:「ios%2Fandroid」としてエンコードされました。 – user6127215

答えて

0

正しい符号化される場合があります。

https://www.example.com/xyz/abc/phone/ios%2fandroid 

これがサーバーによって認識されない場合、サーバーは壊れています。参考までにRFC 3986を参照してください。

関連する問題