有一些背景知识,我正在创建一个短信网关,让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
请求中参数的值?
答案 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());
}