Struct urlparse::Url
[−]
[src]
pub struct Url {
pub scheme: String,
pub netloc: String,
pub path: String,
pub query: Option<String>,
pub fragment: Option<String>,
pub username: Option<String>,
pub password: Option<String>,
pub hostname: Option<String>,
pub port: Option<u16>,
}Fields
scheme | URL scheme specifier |
netloc | Network location part |
path | Hierarchical path |
query | Query component |
fragment | Fragment identifier |
username | User name |
password | Password |
hostname | Host name (lower case) |
port | Port number as integer |
Methods
impl Url
fn new() -> Url
Creates a new Url initialized with the empty string or None value.
fn parse<S: AsRef<str>>(s: S) -> Url
Parses a URL and returns a Url object.
Examples
use urlparse::Url; let url = Url::parse("http://Example.com:8080/foo?filter=%28%21%28cn%3Dbar%29%29"); assert_eq!(url.scheme, "http"); assert_eq!(url.netloc, "Example.com:8080"); assert_eq!(url.path, "/foo"); assert_eq!(url.query, Some("filter=%28%21%28cn%3Dbar%29%29".to_string())); assert_eq!(url.fragment, None); assert_eq!(url.username, None); assert_eq!(url.password, None); assert_eq!(url.hostname, Some("example.com".to_string())); assert_eq!(url.port, Some(8080)); let query = match url.get_parsed_query() { Some(q) => q, None => panic!("Failed to parse my query"), }; assert_eq!(query.get(&"filter".to_string()).unwrap().get(0).unwrap(), "(!(cn=bar))");
fn unparse(&self) -> String
Returns a URL string from a Url object.
Examples
use urlparse::urlparse; let original_str = "http://www.example.com/?a=123&b=A%20B"; let url = urlparse(original_str); assert_eq!(original_str, url.unparse());
fn get_parsed_query(&self) -> Option<Query>
Return a query object by executing parse_qs() with self.query.
If parsing a query fails, None value will be returned.
Examples
use urlparse::urlparse; let url = urlparse("http://www.example.com/?a=123&b=A%20B"); let query = url.get_parsed_query().unwrap(); assert_eq!(query.get(&"b".to_string()).unwrap().get(0).unwrap(), "A B");