Rust で素朴に HTTP リクエストを投げる
以前、Windows でHTTP リクエストするために、1時間ほど格闘した rohki です。
ツラカッタ…
で、格闘する原因となった HTTP ライブラリ hyper の OpenSSL への依存が v0.10 でなくなったとのこと。
Release v0.10.0 · hyperium/hyper
Remove SSL feature (and openssl/security-framework dependencies) · Issue #985 · hyperium/hyper
じゃあ https どうすんの、ということですが、Client は reqwest で ok でした。*1
実際書いてみるとこんな感じ。
extern crate reqwest; use std::io::Read; fn main() { let mut resp = reqwest::get("https://www.rust-lang.org").unwrap(); let mut s = String::new(); resp.read_to_string(&mut s); println!("{:?}", s); }
素朴!!
ライブラリがどうのとか、環境変数とか何もなしですぐ使えました。
ありがたやありがたや。