我尝试使用jsoup通过HTTP基本授权进行连接。
" HTTP错误提取网址"如果我给出了参数user和password的错误值,就会发生。
然后连接继续运行,即使超过了超时......
因此thandler.sendMessage()
方法永远不会执行。
如何在这种情况下停止连接?
这是我的代码:
String url = "http://domain/data.xml";
String header = "user_name:password";
String base64_header = new String(Base64.encode( header.getBytes(),Base64.DEFAULT ));
thread = new Thread()
{
public void run()
{
try
{
Connection.Response response = Jsoup.connect( url )
.header( "Authorization" , "Basic " + base64_header )
.timeout( 10000 )
.execute();
if( response.statusCode() == 200 )
thandler.sendMessage( thandler.obtainMessage( updateUIwithParsedData ) );
else
thandler.sendMessage( thandler.obtainMessage( stop ) );
}
catch( IOException e)
{
e.printStackTrace();
}
}
};
thread.start();
任何人都可以帮助我吗?
答案 0 :(得分:1)
您应该将sendMessage(stop)
来电转移到您的捕获部分。否则出错时,没有什么能阻止你的线程。
更好的是,使用AsyncTask并将线程处理留给Android。