0

一些背景知识,我正在创建一个 SMS 网关,让 Android 手机充当一个迷你 Web 服务器/SMS 网关。每当收到 SMS 时,它都会发布到 Web 服务(外部)。Web 服务(外部)以带有参数的 GET 请求的形式响应 Android 的 IP 地址。

我正在尝试获取对我的 android 应用程序 Web 服务发出的请求的参数。该对象request似乎工作正常,但我在解析参数时遇到问题。

的输出

Log.i("WEB_REQUEST", request.getRequestLine().toString());

GET /send.html?smsto=testtes&smsbody=testers HTTP/1.1

但是,每当我尝试返回特定参数时,它只会返回 null。

        HttpParams params = request.getParams();
        Log.i("WEB_REQUEST", params.getParameter("smsto").toString());
        Log.i("WEB_REQUEST", params.getParameter("smsbody").toString());

如何String smsto = params.getParameter("smsto").toString();在请求中返回参数的值GET

4

1 回答 1

0

我最终这样做了。getParameter不起作用似乎很奇怪。我在此解决方案中使用完全相同的变量,但将参数存储在列表中。我曾希望不必使用循环,即使这应该具有最小的影响。好像没有那么灵动。

List<NameValuePair> parameters = URLEncodedUtils.parse(new URI(request.getRequestLine().getUri()), HTTP.UTF_8);
for (NameValuePair nameValuePair : parameters) {
  Log.i("WEB_REQUEST", nameValuePair.getName() + ": "+ nameValuePair.getValue());
}
于 2014-05-07T00:48:35.690 回答