我有一个可用的xmlparser
。
但是很不幸,当我使用移动数据时会出现错误。
在Wi-Fi上,这个问题不会发生,而且页面随时都可以访问。
我做错了什么?
我拥有互联网权限。
堆栈跟踪:
05-14 21:26:35.628: W/System.err(17691): java.net.SocketTimeoutException: failed to connect to buie.vlsolutions.nl/185.10.98.4 (port 80) after 15000ms
05-14 21:26:35.633: W/System.err(17691): at libcore.io.IoBridge.connectErrno(IoBridge.java:159)
05-14 21:26:35.633: W/System.err(17691): at libcore.io.IoBridge.connect(IoBridge.java:112)
05-14 21:26:35.633: W/System.err(17691): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
05-14 21:26:35.633: W/System.err(17691): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
05-14 21:26:35.633: W/System.err(17691): at java.net.Socket.connect(Socket.java:842)
05-14 21:26:35.633: W/System.err(17691): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:76)
05-14 21:26:35.638: W/System.err(17691): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
05-14 21:26:35.638: W/System.err(17691): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
05-14 21:26:35.638: W/System.err(17691): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
05-14 21:26:35.638: W/System.err(17691): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
05-14 21:26:35.638: W/System.err(17691): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)
05-14 21:26:35.638: W/System.err(17691): at libcore.net.http.HttpEngine.connect(HttpEngine.java:310)
05-14 21:26:35.638: W/System.err(17691): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)
05-14 21:26:35.638: W/System.err(17691): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)
05-14 21:26:35.638: W/System.err(17691): at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
05-14 21:26:35.638: W/System.err(17691): at nl.vlsolutions.buienl.MainActivity.downloadUrl(MainActivity.java:475)
05-14 21:26:35.638: W/System.err(17691): at nl.vlsolutions.buienl.MainActivity.loadXmlFromNetwork(MainActivity.java:342)
05-14 21:26:35.638: W/System.err(17691): at nl.vlsolutions.buienl.MainActivity.access$2(MainActivity.java:334)
05-14 21:26:35.643: W/System.err(17691): at nl.vlsolutions.buienl.MainActivity$DownloadXmlTask.doInBackground(MainActivity.java:307)
05-14 21:26:35.643: W/System.err(17691): at nl.vlsolutions.buienl.MainActivity$DownloadXmlTask.doInBackground(MainActivity.java:1)
05-14 21:26:35.643: W/System.err(17691): at android.os.AsyncTask$2.call(AsyncTask.java:287)
05-14 21:26:35.643: W/System.err(17691): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
05-14 21:26:35.643: W/System.err(17691): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
05-14 21:26:35.643: W/System.err(17691): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
05-14 21:26:35.643: W/System.err(17691): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
05-14 21:26:35.643: W/System.err(17691): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
05-14 21:26:35.648: W/System.err(17691): at java.lang.Thread.run(Thread.java:856)
下载链接函数 downloadUrl:
private InputStream downloadUrl(String urlString) throws IOException {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
// Starts the query
conn.connect(); // Line 475
return conn.getInputStream();
}