2016-07-22 7 views
2

나는 Jsoup로 Android 앱을 만들고 있습니다. 내 코드는 아래와 같습니다.Jsoup. 다중 연결없이 여러 웹 쿼리를 수행하는 방법은 무엇입니까?

String URL = “http://www.example.com/queryDFSRSS.jsp?zone=“ 
String zone_1 = “001”; 
String zone_2 = “002”; 
String zone_3 = “003”; 

Document doc = Jsoup.connect(URL+zone_1).get(); 
. . . . 
doc = Jsoup.connect(URL+zone_2).get(); 
. . . . . 
doc = Jsoup.connect(URL+zone_3).get(); 
.. . . . 

시간이 오래 걸립니다. (약 2.4 초 .. 각 연결에 대해 0.8 초 같음)

그러나 나는 그것들이 동일한 URL이라고 생각합니다. 그래서 3 개의 존 데이터를 단지 하나의 연결로 얻을 수 있습니다.).

가능합니까?

+0

당신이 작업 대기열에서보다는 필요에 따라 저장/로딩을 고려 유무 : 여기에 현재 구현은? –

+0

고맙습니다. 그러나 나는 이해하지 못한다 (미안하다. 나는 초급이다.). 더 설명해 주시겠습니까? [나는 날씨 앱을 만들고있다. 내 응용 프로그램에는 사전 등록 된 10 개의 영역이 있습니다. 앱이 시작되면 사용자는 하나의 지역을 선택합니다. 내 서버가 없기 때문에 Jsoup를 사용하여 웹 사이트에서 10 지역 날씨 데이터를 얻고 싶습니다. 그러나 너무 오랜 시간이 걸립니다 (약 5 ~ 6 초). ] –

답변

0

org.jsoup.Connection의 새 구현을 작성하지 않는 한 Jsoup에 연결 풀링을 추가 할 수 없습니다.

Jsoup는 org.jsoup.helpers.HTTPConnection을이 인터페이스의 구현으로 사용합니다.

특히, Response 클래스가 java.net.HttpURLConnection 객체를 처리하는 방법을 수정해야합니다.

HTTPConnection.Response.execute(Connection.Request req, Response previousResponse) { 

    HttpURLConnection conn = createConnection(req); 
    ... 
    conn.connect(); 
    ... 
    conn.disconnect(); 

} 

https://github.com/jhy/jsoup/tree/master/src/main/java/org/jsoup/helper