9个版本 (5个重大更改)

使用旧的Rust 2015

0.6.0 2017年11月22日
0.5.0 2017年1月11日
0.4.1 2016年8月23日
0.4.0 2016年7月23日
0.1.2 2015年3月23日

#750HTTP服务器

Download history 634/week @ 2024-04-08 858/week @ 2024-04-15 1095/week @ 2024-04-22 804/week @ 2024-04-29 685/week @ 2024-05-06 724/week @ 2024-05-13 848/week @ 2024-05-20 942/week @ 2024-05-27 745/week @ 2024-06-03 591/week @ 2024-06-10 770/week @ 2024-06-17 799/week @ 2024-06-24 354/week @ 2024-07-01 462/week @ 2024-07-08 721/week @ 2024-07-15 700/week @ 2024-07-22

每月2,318次下载
用于 31 个Crate (直接使用20个)

MIT 许可证

9KB
92

urlencoded 构建状态

Iron Web框架的URL编码中间件。解码GET请求查询和POST请求体中的URL编码数据。

示例

此示例展示了如何使用urlencoded解析GET请求参数。

extern crate iron;
extern crate urlencoded;

use iron::prelude::*;
use iron::status;
use urlencoded::UrlEncodedQuery;

fn log_params(req: &mut Request) -> IronResult<Response> {
    // Extract the decoded data as hashmap, using the UrlEncodedQuery plugin.
    match req.get_ref::<UrlEncodedQuery>() {
        Ok(ref hashmap) => println!("Parsed GET request query string:\n {:?}", hashmap),
        Err(ref e) => println!("{:?}", e)
    };

    Ok(Response::with((status::Ok, "Hello!")))
}

// Test out the server with `curl -i "https://127.0.0.1:3000/?name=franklin&name=trevor"`
fn main() {
    Iron::new(log_params).http("127.0.0.1:3000").unwrap();
}

概述

urlencoded是Iron的核心包的一部分。

  • 将URL查询字符串解析为一个HashMap,该HashMap将键的String表示映射到Vec类型的String值。
  • 值存储在Vec中,以确保在键出现多次时不会丢失任何信息。查询字符串a=b&a=c将导致从a[b, c]的映射。
  • 解析POST请求体中的表单数据(MIME类型:application/x-www-form-urlencoded)。

安装

如果你使用Cargo来管理依赖项,只需将urlencoded添加到Cargo.toml

[dependencies.urlencoded]
version = "*"

否则,运行cargo build,rlib将会位于你的target目录中。

文档

除了在线文档(http://ironframework.io/doc/urlencoded),你还可以使用cargo doc构建本地副本。

示例

获取帮助

我们中的一员(@reem@zzmp@theptrk@mcreinhard)通常在mozilla irc的#iron频道上。来打个招呼,提出你可能有的任何问题。我们通常也在#rust#rust-webdev频道上。

依赖项

约5.5MB
约134K SLoC