結局C++とRustってど ..
743:デフォルトの名無しさん
23/08/20 18:05:27.72 a//hKKzV.net
>>720
整理するとこれでいいみたい
use std::error::Error;
use std::net::TcpStream;
use std::io::{BufReader, BufRead, Read, Write};
use std::fmt::Write as _;
fn http_get(host_port: &str, path: &str) -> Result<Vec<u8>, Box<dyn Error>> {
let mut server = TcpStream::connect(host_port)?;
let mut http = String::new();
write!(http, "GET {path} HTTP/1.1\r\n")?;
write!(http, "Host: {host_port}\r\n")?;
write!(http, "Connection: close\r\n")?;
write!(http, "\r\n")?;
server.write_all(http.as_bytes())?;
let mut server = BufReader::new(server);
let mut line = String::new();
server.read_line(&mut line)?;
if line != "HTTP/1.1 200 OK\r\n" {
return Err("HTTP: not 200 OK".into());
}
while server.read_line(&mut line)? > 2 {}
let mut data = Vec::<u8>::new();
server.read_to_end(&mut data)?;
Ok(data)
}
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
279日前に更新/279 KB
担当:undef