2012-12-06 2 views
3

Мне нравится Jsoup для разбора html, но проблема с их соединением, мне нужно отправить запрос на тот же сайт, но другой параметр запроса, например «id = XXX», запрос выглядит так:повторное использование соединения Jsoup

http://website/?id=XXX 

я не хочу, чтобы создать новое соединение для каждого идентификатора, а я сохранить одно соединение для всех запроса ид, вот мой код:

Connection conn = null; 

.. 
if (_conn == null) { 
_conn = Jsoup.connect("http://website/"; 
} 
doc = _conn.data("id", id).get() 
.. 

но мне кажется, это работает только в первый раз , а затем просто повторяйте один и тот же запрос каждый раз, когда мой код запускается, в этом случае я могу только запросить ели t id, даже если я передаю другой идентификатор в другое время. как я могу это решить?

ответ

2

мне удалось добиться каких-то повторное использование путем изменения _conn.url(); для каждого запроса так в вашем случае, что будет что-то вроде

String siteUrl = "http://website/"; 
Connection _conn = Jsoup.connect(siteUrl); 
int[] ids = {1,2,3}; 
for (int i : ids) { 
    _conn.url(siteUrl + "?id=" + i); 
    Document doc = _conn.get(); 
} 

Это гораздо менее элегантно, чем изменение _conn.request().data() на мой взгляд, но кажется, что это единственный способ.

Надеюсь, это поможет.