android - 从 HttpRequest 获取 POST 数据 (Android)

标签 android http post httprequest

在我的 Android 应用程序中,我需要运行 HTTP Web 服务器。初始启动似乎没问题 - 当我使用浏览器导航到该服务器上的页面时,我可以接收请求并处理 URI 字符串(我看到带有完整 URI 和所有参数的 GET 请求)。 但是,如果我使用向服务器提交请求的表单:

<FORM action="http://192.168.1.107:8080/testaction" method="post">
    <INPUT type="text" name="textfield" /><BR>
    <INPUT type="submit" value="Send"/>
 </FORM>

我只获取 URI 中的操作(例如“/testaction”)。我不知道如何获取 POST 请求的实际数据。

下面是java代码中处理请求的部分:

public class HomePageHandler implements HttpRequestHandler {
...
        @Override
        public void handle(HttpRequest request, HttpResponse response, HttpContext httpContext) throws HttpException, IOException {

                String uriString = request.getRequestLine().getUri();
                Uri uri = Uri.parse(uriString);
...
}

我意识到我可能在 java 和/或 HTML 表单本身中做错了什么。请就这两方面提出建议。

最佳答案

要获取 POST 正文,您可以执行以下操作:

if (request instanceof HttpEntityEnclosingRequest) { //test if request is a POST
    HttpEntity entity = ((HttpEntityEnclosingRequest) request).getEntity();
    String body = EntityUtils.toString(entity); //here you have the POST body
}

关于android - 从 HttpRequest 获取 POST 数据 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10365649/

相关文章:

android - 选择器的大小与 "normal"图像不同

c# - jQuery POST 到 .NET HttpListener 并再次返回

C# HttpWebRequest

rest - Spring MVC 3.1 REST服务post方法返回415

java - 在 Android/Java 中循环 JSONArray 时出现类型错误

android - 发送.txt文件,文档文件到android中的服务器

laravel 重定向回发布路由,我得到 MethodNotAllowedHttpException

java - Android java跨域

Android 不断尝试 POST 直到成功

android - ViewPager 中相邻 fragment 的问题有助于持有它的 Activity