In Java Come leggere il contenuto del file GitHub utilizzando l'utilità HttpURLConnection + ConvertStreamToString()

Pubblicato: 2017-12-30

Carica il contenuto dell'URL di Github utilizzando HttpURLConnection

In questo tutorial Java esamineremo i passaggi per recuperare il contenuto dell'URL di GitHub utilizzando HttpURLConnection. In altre parole, di seguito è riportata un'API Java per ottenere il contenuto di un file da GitHub.

Ogni istanza HttpURLConnection viene utilizzata per effettuare una singola richiesta, ma la connessione di rete sottostante al server HTTP può essere condivisa in modo trasparente da altre istanze. getHeaderFields() Restituisce una mappa non modificabile dei campi di intestazione. Le chiavi della mappa sono stringhe che rappresentano i nomi dei campi dell'intestazione della risposta. Ogni valore della mappa è un elenco di stringhe non modificabile che rappresenta i valori dei campi corrispondenti.

Ora iniziamo:

  1. Crea classe CrunchifyLoadGithubContent.java
  2. Scaricheremo i contenuti: https://raw.githubusercontent.com/Crunchify/wp-super-cache/master/wp-cache.php (dal plugin: WP Super Cache Github Repo)
  3. Ottieni tutti i campi di intestazione utilizzando l'API getHeaderFields(). Abbiamo bisogno di questo per scoprire se l'URL sopra o qualsiasi altro URL viene reindirizzato o no? Nota: questo è totalmente facoltativo. In caso di reindirizzamento HTTP 301 e HTTP 302 questo sarà di aiuto.
  4. Crea API crunchifyGetStringFromStream( InputStream crunchifyStream) per convertire Stream in String.
  5. Stampa lo stesso output su Console.

NOTA: lo stato HTTP 301 significa che la risorsa (pagina) viene spostata in modo permanente in una nuova posizione. 302 è che la risorsa richiesta risieda temporaneamente sotto una diversa URI. Per lo più 301 vs 302 è importante per l'indicizzazione nei motori di ricerca poiché i loro crawler ne tengono conto e trasferiscono il page rank quando utilizzano 301.

Inoltre, si presume che l'URL di GitHub debba essere pubblico.

Durante il debug l'ho ottenuto come parte del valore di crunchifyHeader . Inoltre, questo tutorial si applica anche al repository pubblico Bitbucket.

Ottieni contenuti Github in Java