2014-05-06 234 views
0

有点背景,我正在创建一个SMS网关,让Android手机充当迷你Web服务器/ SMS网关。无论何时收到SMS,它都会发布到Web服务(外部)。 Web服务(外部)以带参数的GET请求回应Android的IP地址。解析HTTP获取请求的参数

我想要获取对我的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()); 

我该怎么做一些喜欢的东西e String smsto = params.getParameter("smsto").toString();返回GET请求中的参数值?

回答

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()); 
}