2016-07-01 33 views
5

ho cercato di visualizzare il contenuto (il corpo) di un URL, il testo utilizzando HyperVisualizzazione del corpo della risposta con Hyper mostra solo la dimensione del corpo

extern crate hyper; 

use hyper::client::Client; 
use std::io::Read; 

fn main() { 

    let client = Client::new(); 
    let mut s = String::new(); 

    let res = client.get("https://www.reddit.com/r/programming/.rss") 
        .send() 
        .unwrap() 
        .read_to_string(&mut s) 
        .unwrap(); 

    println!("Result: {}", res); 

} 

Ma l'esecuzione di questo script solo restituisce la dimensione del corpo :

Result: 22871 

Cosa ho fatto di sbagliato? Ho frainteso qualcosa?

risposta

10

Si sta leggendo il risultato dello get in s ma si stampa il risultato di questa funzione, che è il numero di byte letti. See the documentation for Read::read_to_string.

Così il codice che stampa il contenuto recuperato è:

extern crate hyper; 

use hyper::client::Client; 
use std::io::Read; 

fn main() { 

    let client = Client::new(); 
    let mut s = String::new(); 

    let res = client.get("https://www.reddit.com/r/programming/.rss") 
        .send() 
        .unwrap() 
        .read_to_string(&mut s) 
        .unwrap(); 

    println!("Result: {}", s); 

} 
+0

haha ​​oops! Non ho riletto il mio codice! –

Problemi correlati