指向易趣时出现java fileNotFoundException。来自手机的com
如果我把http://www.ebay.com传递给这个。ebay在某个地方更改了我的url,可能是重定向。奇怪的是Android java无法打开页面
u = new URL(txturl.getText().toString());
我得到下面的错误,因为它显然打开了新的移动网站。我只是想知道我的url在什么时候改变,如果我能阻止它。如果我指向雅虎、谷歌、亚马逊或其他主要网站,这种情况似乎不会发生。我只是在测试中注意到了这一点
谢谢
09-07 16:08:08.739: INFO/System.out(360): >>>>>>>>>>>>>>>>>>>>> Unable to connect to **http://www.ebay.com - http://m.ebay.com?ebayref=http%3A%2F%2Fwww.ebay.com%3A80%2F%3Fredirect%3Dmobile**
09-07 16:08:08.739: WARN/System.err(360): **java.io.FileNotFoundException**: http://m.ebay.com?ebayref=http%3A%2F%2Fwww.ebay.com%3A80%2F%3Fredirect%3Dmobile
09-07 16:08:08.749: WARN/System.err(360): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:1162)
09-07 16:08:08.759: WARN/System.err(360): at parser.XXXXXX.com.parserActivity.process(parserActivity.java:106)
09-07 16:08:08.759: WARN/System.err(360): at parser.XXXXXX.com.parserActivity.access$0(parserActivity.java:68)
09-07 16:08:08.769: WARN/System.err(360): at parser.XXXXXX.com.parserActivity$1.onClick(parserActivity.java:61)
09-07 16:08:08.779: WARN/System.err(360): at 安卓.view.View.performClick(View.java:2408)
09-07 16:08:08.779: WARN/System.err(360): at 安卓.view.View$PerformClick.run(View.java:8816)
09-07 16:08:08.789: WARN/System.err(360): at 安卓.os.Handler.handleCallback(Handler.java:587)
09-07 16:08:08.789: WARN/System.err(360): at 安卓.os.Handler.dispatchMessage(Handler.java:92)
09-07 16:08:08.799: WARN/System.err(360): at 安卓.os.Looper.loop(Looper.java:123)
09-07 16:08:08.809: WARN/System.err(360): at 安卓.app.ActivityThread.main(ActivityThread.java:4627)
09-07 16:08:08.809: WARN/System.err(360): at java.lang.reflect.Method.invokeNative(Native Method)
09-07 16:08:08.819: WARN/System.err(360): at java.lang.reflect.Method.invoke(Method.java:521)
09-07 16:08:08.819: WARN/System.err(360): at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-07 16:08:08.829: WARN/System.err(360): at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-07 16:08:08.839: WARN/System.err(360): at dalvik.system.NativeStart.main(Native Method)
# 1 楼答案
解决方案(以我为例)
如果服务器响应代码为>;=HTTP_错误_请求(大于400) HttpURLConnectionImpl类的方法getInputStream() FileNotFoundException(因此无法打开输入流)
即使这个文件存在,你的对象也不会给你输入流,因为服务器响应代码是>=400-更改服务器上的响应代码或使用其他类进行连接
源代码片段: http://www.docjar.com/html/api/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnectionImpl.java.html
# 2 楼答案
一些网站强迫你使用不完整的手机版本——我在手机上保留了第二个浏览器,其中的用户代理字符串声称是桌面浏览器,而不是手机浏览器。您可能需要为应用程序执行此操作,并使其可更改,或在网站更改其实现时进行更新