Android 如何从web表单截获http POST数据

Android 如何从web表单截获http POST数据,android,http,browser,intercept,Android,Http,Browser,Intercept,我有一个网页(在浏览器中显示,而不是网络视图),我想将一些数据(例如使用http POST)传递给一个普通的android应用程序 我只需要启动应用程序并提供数据。我知道该应用程序可以通过注册一个意向过滤器来启动,但我对数据传递部分感到迷茫 没有必要让URL是真实的,伪造的URL也可以 这可以在BlackBerry中使用HTTP过滤器完成。在安卓系统中有没有同样的方法 提前感谢。我将研究的方法是在应用程序中实现一个非常简单的HTTP服务器服务。为您的确切目的编写一个小型web服务器非常简单:侦听

我有一个网页(在浏览器中显示,而不是网络视图),我想将一些数据(例如使用http POST)传递给一个普通的android应用程序

我只需要启动应用程序并提供数据。我知道该应用程序可以通过注册一个意向过滤器来启动,但我对数据传递部分感到迷茫

没有必要让URL是真实的,伪造的URL也可以

这可以在BlackBerry中使用HTTP过滤器完成。在安卓系统中有没有同样的方法


提前感谢。

我将研究的方法是在应用程序中实现一个非常简单的HTTP服务器服务。为您的确切目的编写一个小型web服务器非常简单:侦听TCP端口80,接受传入连接,然后继续从套接字读取,直到看到
\r\n\r\n
跳过标题,然后读取POST数据。您的网页可能会通过“localhost”访问它。我不知道这种方法是否存在任何主要障碍,但在进行快速搜索时,我发现已经有小型Android web服务器可用,因此从技术上讲这似乎是可能的。

这是我的两分钱:

虽然不是真正的拦截,但这种方法使用传统的意图过滤机制完成任务

例如:

  • 浏览器打开指向我的浏览器的链接ownscheme://myfakeurl.fake/http%3A%2F%2Factualurl.com
  • Android应用程序与意向过滤器匹配并启动。它解析URL中的参数并对其进行解码http://actualurl.com"
  • android应用程序连接到传递的url并获取数据

        String encodedURL = getIntent().getData().getPathSegments().get(0); //Returns http%3A%2F%2Factualurl.com
        String targetURL = Html.fromHtml(encodedURL); //Returns http://actualurl.com
        //Now do the GET and fetch the data.
    

  • 在网页中放置以下链接:

    <a href="my.special.scheme://xyz.com/data1/data2">
    

    这里有一些问题,@user370305谢谢,我都读过了。但是,正如我在问题中试图解释的那样,我已经知道如何启动应用程序,但不知道如何传递数据。检查我的blogspot
    html和活动链接
    ,它包含有关传递数据的信息(使用GET):@Sherif+1显示如何使用
    getQueryParameter
    。哼哼,但这项服务很可能会被操作系统停止。
    Uri data = getIntent().getData();
    String scheme = data.getScheme(); // "http"
    String host = data.getHost(); // "xyz.com"
    List<String> params = data.getPathSegments(); 
    String first = params.get(0); // "data1"
    String second = params.get(1); // "data2"