2013-07-31 48 views
1

在連接到一個URL我越來越下面是logcat的錯誤我得到Jsoup無法打開HTML頁面狀態= -1

和低於我的代碼連接到URL。

當我嘗試連接到基礎URL http://www.apkmania.co/連接成功

,但是當試圖連接到這個URL,它拋出我的錯誤。

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(); 
     } 
    } 

請幫我這方面。

+0

?因爲它似乎不存在。 – gkayling

+0

@gkayling nops我正在使用這一個http://www.apkmania.co/2013/07/man-of-steel-v10211012-apk.html –

+0

照顧發佈一些代碼? – gkayling

回答

0

網址末尾有斜線。

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

如果去掉末尾的斜線,它應該工作。

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

編輯: 它的工作對我來說是這樣的。

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); 

而且我越來越 <!DOCTYPE html PUBLIC "- ...

+0

我剛剛添加它來檢查它是否工作或否 我使用的URL沒有最後一個斜槓 –

+0

你得到一個404沒有斜槓?你發佈的確切的錯誤? – gkayling

+0

是的可能是一個404,但它說與「狀態= -1」IOEXCEPTION請幫忙 –

0

我解決了這個問題這裏是代碼,如果任何人在未來您是否使用example.co URL需要

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(); 
      }