有时会出现IoException:标记为无效的Jsoup Android应用程序

问题描述 投票:0回答:1

我的代码/程序有一点问题。因此,让我先解释一下该怎么做。当我按下一个按钮时,它就通过我们合作伙伴在网站上通过Jsoup连接,这就是我无法在此处发布链接并从有关免费停车位的站点信息中获取信息的原因。之后,如果使用了停车位,它将文本字段的颜色更改为红色。

有时会收到此错误。

W / System.err:java.io.IOException:标记为无效

它标记了.get();在最终文档文档中

对我来说,很奇怪的事情是有时它可以工作,有时却不能,而且我得到的例外是我不知道现在该怎么办。

这是我的代码

Thread connection= new Thread(new Runnable() {
    @Override
    public void run() {

        try {
        String URL = "URL";

        Connection.Response res = Jsoup.connect(URL)
                .data("loginTextField", "login", "pwdTextField", "password")
                .method(Method.POST)
                .execute();

        String cookieID = res.cookie("PHPSESSID");

        final Document doc = Jsoup.connect(URL)
                .cookie("PHPSESSID", cookieID)
                .get();

        runOnUiThread(new Runnable() {
            @Override
            public void run() {

                String doc1 = doc.outerHtml();

                Scanner scanner = new Scanner(doc1);
                while (scanner.hasNextLine()) {
                    String line = scanner.nextLine();


                    if (line.contains("Status : full") {
                        park1 = (TextView) findViewById(R.id.textView4);
                        park1.setBackgroundColor(Color.RED);
                    }

                }
                scanner.close();

            }
        });
    } catch (IOException e) {
            e.printStackTrace();
        }
    }});
java android exception jsoup
1个回答
0
投票

这是一个已知问题,已经在Jsoup中报告为错误:https://github.com/jhy/jsoup/issues/1218

作为一种解决方法,您可以写一些不同的方法,而不是

final Document doc = Jsoup.connect(URL)
     .cookie("PHPSESSID", cookieID)
     .get();

您应该尝试

Response response = Jsoup.connect(URL)
     .cookie("PHPSESSID", cookieID)
     .execute();
final Document doc = Jsoup.parse(response.body());
© www.soinside.com 2019 - 2024. All rights reserved.