我一直在测试一个使用POST方法使用HTTPS将数据发送到远程服务器的随机Android应用程序。
我已经设置了代理并且能够拦截流量,但POST方法似乎是加密的并且是“url-encoded”。
我想知道的是..在这样的场景中是否有一个常见的加密标准,如Base64,或者是否应该使应用程序在内部使用签名加密机制,在通过数据发送之前加密数据POST方法。
任何指导都会非常感激。提前谢谢!
答案 0 :(得分:0)
您可以将编码设置为您喜欢的任何内容
UrlEncodedFormEntity(nameAndValuePairsGoHere,"encoding goes here");
完整示例,信用:Source
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", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
// 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
}
}