исключение jsoup - PullRequest
       14

исключение jsoup

0 голосов
/ 20 января 2012

У меня есть цикл, который выглядит следующим образом:

//Pseudo code

subUrl = divs.get(n).select("a[href].eDL");

for(int o=0; o<subUrl.size(); o++) {

    subUrlW = subUrl.get(o).select("a[href].eDL").attr("abs:href");

    httpget = new HttpGet(subUrlW);
    HttpResponse httpRes2 = httpclient1.execute(httpget, httpContext);
    html = EntityUtils.toString(httpRes2.getEntity());
    doc = Jsoup.parse(html, subUrlW);
    divs = doc.select("div#pTU");

    for(int p=0; p<divs.size();p++) {

        subUrl = divs.get(p).select("a[href].pd");
        for(int q=0; q<subUrl.size(); q++) {  

             subUrlW = subUrl.get(q).select("a[href].pd").attr("abs:href"); 

        }
    }                                              
}

Я вижу, что subUrlW имеет значение null, однако, если я выполню это для отладки, subUrlW не будет иметь значение null.

subUrl = divs.get(n).select("a[href].eDL");

for(int o=0; o<subUrl.size(); o++) {

    subUrlW = subUrl.get(o).select("a[href].eDL").attr("abs:href");
    System.out.println("subUrlW"+subUrlW);

}

Когда этот цикл выполняется, я получаю следующее исключение,

java.lang.IllegalStateException: Target host must not be null, or set in parameters.
    at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:717)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:358)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)

Однако он указывает на его линию,

HttpResponse httpRes2 = httpclient1.execute(httpget, httpContext);

Любые отзывы приветствуются.

1 Ответ

0 голосов
/ 06 февраля 2012
subUrl = divs.get(n).select("a[href].eDL");

Document doc=null;

for(int o=0; o< subUrl.size(); o++) 
{

    doc = JSoup.connect(subUrl[o].toString());
    subUrlW = doc.select("a[href].eDL").attr("abs:href");
    System.out.println("subUrlW"+subUrlW);
    doc=null;

}
...