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日 |
#750 在 HTTP服务器
每月2,318次下载
用于 31 个Crate (直接使用20个)
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