I'm doing some research on how to scrape information. I'm a little confused about how http client relates to jsoup. Do you need http client to use jsoup, or can jsoup replace http client? If you still need http client, what functions is it performing that jsoup cannot do on its own?
Do you need http client to use jsoup
No. Jsoup can be used completely independently. It does not have any dependencies (expect of Java SE, of course).
or can jsoup replace http client?
No. It are tools with completely different purposes.
If you still need http client, what functions is it performing that jsoup cannot do on its own?
More advanced and more convenient way of sending HTTP requests. For example, automatic cookie (session) management, sending multipart/form-data
requests (uploading files), etcetera.
If all you need is to send a GET request and the session management is not relevant, then Jsoup can effortlessly do the job for you. But if logins and session management is mandatory, then you'd need to manually copy cookies during every Jsoup request. This can lead to some boilerplate code. Using HttpClient to handle HTTP requests and then passing its response through Jsoup is then easier.