简体   繁体   English

Jsoup无法打开HTML页面Status = -1

[英]Jsoup can't open html page Status=-1

While connecting to a URL i'm getting Below is the logcat error i'm getting 当我连接到URL时,出现下面的logcat错误

and below that my code to connect to url. 和下面的我的代码来连接到URL。

When i try to connect to base url http://www.apkmania.co/ it connects successfully 当我尝试连接到基本URL http://www.apkmania.co/时,它成功连接

but when try to connect to this url it throws me an error. 但是,当尝试连接到该网址时,会抛出一个错误。

07-31 20:47:20.150: I/System.out(14295): IOException: org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=http://www.apkmania.co/2013/07/blood-sword-thd-v16-apk.html/

break; 打破;

Thread thread=new Thread(new Runnable(){
            public void run(){
                PrepareItem(webrss);
                runOnUiThread(new Runnable(){
                    public void run() {
                        if(dialog.isShowing()){ 
                            try {
                                setDataToHandels();
                            } catch (NullPointerException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                                System.out.println("SET DATA TO HANDELS: " + e);
                            }
                            dialog.dismiss();
                        }
                    }
                });
            }
        });
        thread.start(); 

break; 打破;

private void PrepareItem(String url) {
        System.out.println(url);
        Document content= null;
        try {
            content = Jsoup.connect(url).userAgent("Mozilla").timeout(10*1000).get();
        } catch (final IOException e) {
            // TODO Auto-generated catch block
            System.out.println("IOException: " + e.toString()); 
        }

        int i=0;
        try {

            Elements html1 = content.getElementById("main-wrapper").getElementsByTag("div").get(16).children();
            html1.select("img").first().remove();
            String[] main_content= new String[html1.size()];
            i=0;
            for (Element element_src : html1.select("div")) {
                if (element_src.attr("dir").equals("ltr")) {
                    main_content[i] = element_src.toString();   
                    i++;
                }               
            }

            for (int j = 0; j < main_content.length-2; j++) {
                all_text = all_text+main_content[j];
            }

            all_images_ems = html1.select("img");
            all_images_src = new String[all_images_ems.size()];
            i=0;
            for (Element img_src : all_images_ems) {
                all_images_src[i] = img_src.attr("src");
                i++;
            }

            anchor_link_ems = html1.select("a");
            all_links = new String[anchor_link_ems.size()];
            i=0;
            for (Element anchor_links : anchor_link_ems) {
                all_links[i] = anchor_links.attr("href");
                i++;
            }

        } catch (NullPointerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

Please help me in this regard. 请在这方面帮助我。

There's a slash at the end of the url. 网址末尾有一个斜杠。

http://www.apkmania.co/2013/07/blood-sword-thd-v16-apk.html/

If you remove the slash at the end, it should work. 如果您在末尾删除斜线,它应该可以工作。

http://www.apkmania.co/2013/07/blood-sword-thd-v16-apk.html

Edit: It's working for me like this. 编辑:它对我来说就是这样。

String url = "http://www.apkmania.co/2013/07/blood-sword-thd-v16-apk.html";
Document content = null;
try {
    content = Jsoup.connect(url).userAgent("Mozilla").timeout(10*1000).get();
} catch (final IOException e) {
    // TODO Auto-generated catch block
    System.out.println("IOException: " + e.toString()); 
}
System.out.println(content);

And I'm getting <!DOCTYPE html PUBLIC "- ... 而且我得到<!DOCTYPE html PUBLIC "- -...

I solved the problem here is the code if anybody in future needs 我解决了问题,这里是代码,如果将来有人需要

String url = "http://www.apkmania.co/2013/07/blood-sword-thd-v16-apk.html"    
URL url1;
            InputStream in = null;
            try {
                url1 = new URL(url);
                URLConnection urlConnection = url1.openConnection();
                in = new BufferedInputStream(urlConnection.getInputStream());
            } catch (MalformedURLException e2) {
                // TODO Auto-generated catch block
                e2.printStackTrace();
            }

            Document content= null;
            try {
                content = Jsoup.parse(in, "UTF-8", url);
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                System.out.println(e1.getMessage());
                e1.printStackTrace();
            }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM