2013-06-18 1 views
0

Я попытался подключиться к веб-сайту, получить от него URL-адрес, а затем подключиться к этим URL-адресам, получить некоторую информацию. Вот мой код.открыть другое http-соединение в java

URL url = new URL("http://www.nchmf.gov.vn/web/vi-VN/62/23/44/map/Default.aspx"); 
    URLConnection con = url.openConnection(); 
    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); 

    String l; 
    String Area; 

    Pattern Province = Pattern.compile("Thị xã/T.Phố :"); 
    Pattern City = Pattern.compile("<option(.*?)ue=\"(.*?)\">(.*?)</option>"); 


    while ((l=in.readLine())!=null) { 
     Matcher ProvinceFound = Province.matcher(l); 
     if (ProvinceFound.find()) { 
      while((l=in.readLine())!=null 
        && !l.contains("</select></span>")){ 
       Matcher CityCode = City.matcher(l); 
       if(CityCode.find()){ 
        if(!"0".equals(CityCode.group(2))){ 
         URL url1 = new URL("http://www.nchmf.gov.vn/web/vi-VN/62/23/44/map/Default.aspx"); 
         URLConnection con1 = url1.openConnection(); 
         BufferedReader in1 = new BufferedReader(new InputStreamReader(con1.getInputStream())); 

         while((Area=in1.readLine())!=null){ 
          System.out.println(Area); 
          break; 
         } 
        } 

       } 
      } 
     } 
    } 
} 

В результате я получаю только пустые строки. Он все еще печатает что-то, если я поставлю «System.out.println (l)»; на первом соединении, поэтому я думаю, что проблема заключается в втором соединении.

Может кто-нибудь сказать мне, что не так в моем коде, спасибо вам большое.

+2

Следуйте стандартным соглашениям об именах Java. Переменные (провинция, город, провинцияФунд ...) НЕ должны начинаться с символов верхнего регистра. – camickr

+0

Вы уверены, что код достиг второго соединения? отлаживайте его. – fmodos

ответ

0

Я предполагаю, что вы не можете прочитать со второго URL-адреса, потому что вы блокируете первый URL-адрес. Два предложения:

  1. Начать новую тему для каждого нового URL вы хотите прочитать
  2. Читать все данные в первом URL и добавить ссылки, которые Вы захотите, чтобы обработать в список. Затем, когда вы закончите чтение основного URL-адреса, вы можете читать каждый из других URL-адресов по одному.
+0

Спасибо, камикр, я попробовал вариант 2, и он работает! – Mee

Смежные вопросы