main.rs 941 B

1234567891011121314151617181920212223242526272829303132333435
  1. use std::collections::HashMap;
  2. use reqwest::header::HeaderMap;
  3. #[tokio::main]
  4. pub async fn main() -> Result<(), Box<dyn std::error::Error>> {
  5. let res = reqwest::get("https://httpbin.org/ip")
  6. .await?
  7. .json::<HashMap<String, String>>()
  8. .await?;
  9. println!("Body:\n{:#?}", res);
  10. get_bitcoin_price().await?;
  11. Ok(())
  12. }
  13. pub async fn get_bitcoin_price() -> Result<(), Box<dyn std::error::Error>> {
  14. let url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest";
  15. let mut h = HeaderMap::new();
  16. h.insert("content-type", "application/json".parse().unwrap());
  17. h.insert("X-CMC_PRO_API_KEY","<API_KEY>".parse().unwrap());
  18. let mut params = HashMap::new();
  19. params.insert("symbol", "BTC");
  20. let res = reqwest::Client::new()
  21. .get(url)
  22. .headers(h)
  23. .query(&params)
  24. .send()
  25. .await?;
  26. println!("BTC Price {:#?}", res);
  27. Ok(())
  28. }