有没有办法在Android上为http创建迷你代理?

时间:2013-12-16 11:56:33

标签: android http proxy request

我正在研究一个向网站发布内容的HttpClient。客户端看起来像这样(基于this link):

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));

        // 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
    }
} 

我现在要做的是创建一个小型代理服务(非常简单),在同一个Android设备上运行并侦听传出的HTTP连接并修改POST(例如更改“id”:“ 12345“into”54321“,仅用于测试目的),然后将HttpRequest传递给实际网站。我怎么做那样的事情?我一直在谷歌搜索,但没有找到任何可以让我知道如何做到这一点(如教程或其他东西)。任何人都可以告诉我如何做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您无需编写代码即可实现此目的。而不是编写自己的代理,因为您只需要它来测试您的应用程序,您可以使用mitmproxy这是一个中间人代理(根据您想要实现的描述) 。按照本教程将PC设置为代理,将设备设置为客户端。

http://blog.philippheckel.com/2013/07/01/how-to-use-mitmproxy-to-read-and-modify-https-traffic-of-your-phone/