发生HTTP错误提取URL时如何停止连接

时间:2014-10-08 08:58:36

标签: android jsoup

我尝试使用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();

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您应该将sendMessage(stop)来电转移到您的捕获部分。否则出错时,没有什么能阻止你的线程。

更好的是,使用AsyncTask并将线程处理留给Android。