解析HTTP Get Request的参数

时间:2014-05-06 21:23:04

标签: android parameter-passing http-get http-parameters

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

我正在尝试获取对我的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请求中参数的值?

1 个答案:

答案 0 :(得分: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());
}