2 つのパラメーターを持つ POST メッセージを PHP サーバーに送信しています。1 つは Base64 の HASH です。Base64 では文字「=」がパディングとして使用されるため、ハッシュ値に表示されます。
public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "WAFFTE="));
nameValuePairs.add(new BasicNameValuePair("stringdata", "data"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
このコードでは、URL は %3D によって「=」をエンコードしていますが、その場合、サーバーは ID 値を認識しません。異なるコーディングを選択しようとしましたが、違いはありません。
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs),"UTF-8");
何か助けはありますか?