2012-11-26 14 views
8

Właśnie pobrać najnowszą wersję jsoup (1.7.1) i postępuj zgodnie z oficjalnym kodem (zmieniono adres URL). Potem dostałem "błędzie http ściągam URL"Błąd http Jsoup pobierania adresu URL

public class MainActivity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    try { 
     loadData(); 
    } catch (IOException e) { 
     Log.i("error",e.getMessage()); 
    } 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

public void loadData() throws IOException { 
    Document doc = Jsoup.connect("http://forum.mtr.com.hk/search.php?station=30&cat=&x=25&y=2").get(); 
    String title = doc.title(); 
    Log.i("title",title); 
}} 

czym problem mojego kodu? Wygląda na to, że błąd pojawił się w Androidzie Project, ponieważ robię to samo w Projekcie Java, który działa dobrze.

Uwagi: - I haved dodane pozwolenie Internet

Odpowiedz

6

miałem podobny problem. Możliwe, że połączenie z Twoim urządzeniem jest zbyt wolne, a funkcja connect() zbyt krótko przestaje działać lub może nie działać z pewnym nieszkodliwym statusem błędu HTTP. Ponadto, moje połączenie Jsoup działało dla większości stron, ale dla niektórych otrzymywałem "Błąd HTTP przy pobieraniu adresu URL Status = 307". Okazuje się, że jest to naprawdę przekierowanie z serwera WWW na inny URL. I rozwiązać wszystkie te problemy z następującego kodu:

Connection.Response res = Jsoup.connect(sUrl). 
     timeout(5000).ignoreHttpErrors(true).followRedirects(true).execute(); 
if (res.statusCode() == 307) { 
    String sNewUrl = res.header("Location"); 
    if (sNewUrl != null && sNewUrl.length() > 7) 
     sUrl = sNewUrl; 
    res = Jsoup.connect(sUrl). 
      timeout(5000).execute(); 
} 
Document doc = res.parse(); 

Hope this helps lub przynajmniej inspiruje, aby spróbować jeszcze kilka ustawień przed wywołaniem get() lub execute().

Greg

Powiązane problemy