次のような形式の「authenticity_token」を必要とするエンドポイントがあります。
Iq2rNXN+OxERv+s6TSloJfKkPZVvqnWe1m0NfODB5OI=
ただし、次のような「特殊な」文字が含まれる場合があります。
E7IzeP73OgPGgXM/up295ky1mMQMio2Nb8HMLxJFyfw=
これは次のようにエンコードされます。
E7IzeP73OgPGgXM%26%2347%3Bup295ky1mMQMio2Nb8HMLxJFyfw%3D
何らかの理由で、エンドポイントはこれらの特殊文字のエンコーディングを好まないため、トークンが無効であると見なします。特定の値をエンコードしない POST 変数を追加することはできますか? 私は現在次のようなことをしています:
HttpPost post = new HttpPost(URL + NEW_FINDING);
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("foo", foo));
nvps.add(new BasicNameValuePair("authenticity_token", authenticityToken));
post.setEntity(new UrlEncodedFormEntity(nvps));