在API文档中说
默认情况下,请求查找的结果在响应正文中以逐行,键=值格式提供。例如,典型结果的格式如下:
--START:447777777777 status="ok" mcc="234" mnc="02"
operatorname="O2" isoalpha3code="GBR" END:447777777777--
所以,我发送了请求
http://api.txtnation.com/Networks/Lookup?username=user123&password=pwd123&
msisdn=447766551112
String addParam=java.net.URLEncoder.encode("username", "UTF-8")
+ "="
+ java.net.URLEncoder.encode(username, "UTF-8")
+ "&"
+ java.net.URLEncoder.encode("password", "UTF-8")
+ "="
+ java.net.URLEncoder.encode(password, "UTF-8")
+ "&"
+ java.net.URLEncoder.encode("msisdn", "UTF-8")
+ "="
+ java.net.URLEncoder.encode(msisdn, "UTF-8")
java.net.URL msisdnLookup= new java.net.URL("http://api.txtnation.com/Networks
/LookUp/?"+addParam);
java.net.HttpURLConnection mmpostback = (java.net.HttpURLConnection)
msisdnLookup.openConnection();
mmpostback.setDoOutput(true);
mmpostback.setRequestMethod("GET");
它向我显示HTTP响应:确定
System.out.println(mmpostback.getResponseMessage());
但以下显示我是NULL ..
status=request.getParameter("status");
mcc=request.getParameter("mcc");
mnc=request.getParameter("mnc");
我甚至尝试过阅读参数和标题,但我找不到上面的名字 - 状态,mcc,mnc,operatorname,isoalpha3code
如何在jsp中读取请求体?请建议
答案 0 :(得分:0)
您发送的请求不包含status参数。 如果你再次使用用户名,你应该成功。
request.getParameter("username")
根据您更新的答案,您应该查看响应而不是请求。
从JSP,您如何发送HTTP请求?如果您使用的是Ajax,那么您可以在成功处理程序中获得响应。
如果您正在使用HttpClient,那么您可以再次获得响应过程。
根据您的更新(使用URLConnection),您可以使用getHeaderField方法
如果数据在您的回复正文中,那么您可以使用URLConnection.getContent()或URLConnection.getInputStream()
另一个替代方案是使用Apache HTTPClient类,它更灵活,更容易使用恕我直言。见http://hc.apache.org/httpclient-3.x/methods.html