c'è una funzione che apre un socket (come in java) e legge lo stream che riceve... chiaramente essendo più http oriented normalmente avrai a che fare con stream di contenuti HTML (testo), ma nulla vieta di recuperare in quel modo qualsiasi altro tipo di documento. In java potresti fare lo stesso con un (HTTP)URLConnection