Android笔测试

时间:2012-01-27 12:36:41

标签: android

我一直在测试一个使用POST方法使用HTTPS将数据发送到远程服务器的随机Android应用程序。

我已经设置了代理并且能够拦截流量,但POST方法似乎是加密的并且是“url-encoded”。

我想知道的是..在这样的场景中是否有一个常见的加密标准,如Base64,或者是否应该使应用程序在内部使用签名加密机制,在通过数据发送之前加密数据POST方法。

任何指导都会非常感激。提前谢谢!

1 个答案:

答案 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
    }
}