Где Apache устанавливает httpd.conf по умолчанию?

Самый простой способ сделать HTTP в Rust - reqwest .

Hyper - популярная HTTP-библиотека для Rust и использует две библиотеки: Tokio , чтобы сделать неблокирующие запросы и фьючерсы-rs для фьючерсов / обещаний. Пример Hyper приведен ниже и во многом вдохновлен примером в его документации .

// Rust 1.19, Hyper 0.11, tokio-core 0.1, futures 0.1

extern crate futures;
extern crate hyper;
extern crate tokio_core;

use futures::{Future};
use hyper::{Client, Uri};
use tokio_core::reactor::Core;

fn main() {
    // Core is the Tokio event loop used for making a non-blocking request
    let mut core = Core::new().unwrap();

    let client = Client::new(&core.handle());

    let url : Uri = "http://httpbin.org/response-headers?foo=bar".parse().unwrap();
    assert_eq!(url.query(), Some("foo=bar"));

    let request = client.get(url)
        .map(|res| {
            assert_eq!(res.status(), hyper::Ok);
        });

    // request is a Future, futures are lazy, so must explicitly run
    core.run(request).unwrap();
}

В Cargo.toml:

[dependencies]
hyper = "0.11"
tokio-core = "0.1"
futures = "0.1"

Для потомков я оставил свой первоначальный ответ ниже, но см. выше для обновления для Rust 1.19 (последняя стабильная версия на момент написания этой статьи).

Я верю, что вы поиск находится в стандартной библиотеке . теперь в rust-http и ответ Криса Моргана является стандартным способом в текущем Rust в обозримом будущем. Я не уверен, как далеко я могу вас принять (и надеюсь, что я не поймаю вас в неправильном направлении!), Но вам нужно что-то вроде:

// Rust 0.6 -- old code
/*
extern mod std;

use std::net_ip;
use std::uv;

fn main() {
    let iotask = uv::global_loop::get();
    let result = net_ip::get_addr("www.duckduckgo.com", &iotask);

    io::println(fmt!("%?", result));
 }
 */
Что касается кодирования, есть несколько примеров в модульных тестах в SRC / libstd / net_url.rs.

7
задан user1032531 16 June 2013 в 13:51
поделиться