use*_*170 4 java android jsoup network-connection
我需要一些帮助来理解Jsoup的基础知识.以下代码有效,但我想知道连接是否需要以某种方式关闭.在Jsoup网站上找不到任何关于它的内容.如果在执行后台方法执行后应用程序保持不变,我每五分钟左右在log cat中收到一条消息,说"请求时间失败:java.net.SocketException:协议不支持的地址族".所以我想确保我不会不必要地消耗数据.谢谢.
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
try {
// connect to web page based on user input
Document doc = Jsoup.connect(routeURL).get();
// select relevant page elements
Elements fareStageNumbers = doc.getElementsByClass("fare_stages_inner_table");
// test printing out fare stage numbers
for(Element div : fareStageNumbers){
Log.v(TAG, div.text());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
logcat消息:
01-12 20:58:28.755: D/SntpClient(78): request time failed: java.net.SocketException: Address family not supported by protocol
01-12 21:03:28.765: D/SntpClient(78): request time failed: java.net.SocketException: Address family not supported by protocol
01-12 21:08:28.775: D/SntpClient(78): request time failed: java.net.SocketException: Address family not supported by protocol
Run Code Online (Sandbox Code Playgroud)
在请求完成后,Jsoup通过它自己关闭连接:
// from 'org.jsoup.helper.HttpConnection' class
static HttpConnection.Response execute(Connection.Request req, HttpConnection.Response previousResponse) throws IOException {
// ...
HttpURLConnection conn = createConnection(req);
HttpConnection.Response res;
try {
// ...
} finally {
// per Java's documentation, this is not necessary, and precludes keepalives. However in practise,
// connection errors will not be released quickly enough and can cause a too many open files error.
conn.disconnect();
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
例外:您的网址是否包含协议(网址以例如.http://)开头?
| 归档时间: |
|
| 查看次数: |
7805 次 |
| 最近记录: |