我使用以下url登录android应用程序
http://182.18.133.88/php/gprs_request.php?cmd=balance&username=xxxxx&password=xxxxx.
每当我在web浏览器中调用这个url时,返回的xml是这样的。
<time>27.01.2014 11:54:54 AM</time>
<result>true</result>
<message>
Your Credit Current Balance is 100.00. Please Recharge Soon.
</message>
</root> 所以,我正在使用sax parser.suppose解析这个特定的xml文件,如果结果是真的,用户应该登录到application.It在Android4.0和更高版本中工作得很好。我在4.1.2中测试了它,它工作得很好,但我在Android2.3.6设备上运行这个应用程序,它得到了以下系统错误日志。
01-27 11:46:03.562: W/System.err(18991): java.io.FileNotFoundException: http://182.18.133.88/php/gprs_request.php?cmd=balance&username=RTxxxx&password=yyyy=balance&username=RTxxxx&password=yyyy
01-27 11:46:03.570: W/System.err(18991): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:521)
01-27 11:46:03.570: W/System.err(18991): at java.net.URL.openStream(URL.java:645)
01-27 11:46:03.570: W/System.err(18991): at com.androidapp.paraservices.common.WebserviceCall.doInBackground(WebserviceCall.java:51)
01-27 11:46:03.570: W/System.err(18991): at com.androidapp.paraservices.common.WebserviceCall.doInBackground(WebserviceCall.java:1)
01-27 11:46:03.570: W/System.err(18991): at android.os.AsyncTask$2.call(AsyncTask.java:185)
01-27 11:46:03.570: W/System.err(18991): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
01-27 11:46:03.570: W/System.err(18991): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
01-27 11:46:03.570: W/System.err(18991): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
01-27 11:46:03.578: W/System.err(18991): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
01-27 11:46:03.578: W/System.err(18991): at java.lang.Thread.run(Thread.java:1019)
01-27 11:46:03.578: D/LOGINACTIVITY(18991): result:false
01-27 11:46:03.601: W/InputManagerService(1511): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@409b4e70我调用并解析android代码中的url。
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
URL sourceUrl = new URL(params[0]);
LoginHandler myXMLHandler = new LoginHandler(getApplicationContext());
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(sourceUrl.openStream()));我不知道到底发生了什么,all.Please给了我提前完成thing.thanks的前进一步。
发布于 2014-01-27 14:54:19
当web服务器返回404时,就会发生FileNotFoundException。
我的第一个想法是尝试一个不同的URL,例如google,看看是否至少返回了一些东西。(它将再次是404/FileNotFoundException,或者它将通过该点。)
更新:通过你的URL,我得到了:
$ curl http://182.18.133.88/php/gprs_request.php?cmd=balance&username=RTxxxx&password=yyyy=balance&username=RTxxxx&password=yyyy
[1] 29354
[2] 29355
[3] 29356
[4] 29357
[2] Done username=RTxxxx
$ <?xml version="1.0" encoding="UTF-8" ?>
<root><time>27.01.2014 13:03:32 PM</time>
<result>false</result>
<message>Username Not Provided</message>发布于 2014-01-27 14:57:28
看起来您已经将实际使用的URL中的请求参数弄乱了...根据所述日志消息,对所述日志消息进行处理。
http://182.18.133.88/php/gprs_request.php?cmd=balance&username=RTXXXX&password=YYYYcmd=balance&username=RTXXXX&password=YYYY用户名和密码重复....
https://stackoverflow.com/questions/21374557
复制相似问题