- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在玩Iron
,遇到了这个问题。
fn main() {
let mut router = Router::new();
let address = "127.0.0.1"; // or maybe "::1/128"
let port = 3000;
let ip = std::net::IpAddr::new(address); // does not exist
Iron::new(router).http((ip, port)).unwrap();
}
http()
方法接受一个实现了 ToSocketAddrs
的结构。 . (&str, u16)
实现了这个特性,但我更喜欢在 调用 http()
方法之前验证用户输入的有效性。
我看到 (std::net::IpAddr, u16)
实现了这个特性,但我不知道如何“不可知论地”构建一个 IpAddr
:也许用户写了一个 IPv4 地址,也许是一个 IPv6。
有没有办法只从一个字符串创建一个IpAddr
?我认为这是可能的,因为我可以给它一个 (&str, u16)
。
最佳答案
你的 friend 是FromStr
来自标准库的特性。它抽象了可以从字符串创建的类型。如你所见Ipv4Addr
, Ipv6Addr
和 IpAddr
所有人都实现了这一特征!所以你可以写:
use std::str::FromStr;
let addr = IpAddr::from_str("127.0.0.1");
或者,更常见的方式是使用 str::parse()
方法:
let addr = "127.0.0.1".parse::<IpAddr>();
from_str()
/parse()
方法返回一个 Result
来表示字符串是否有效。
关于rust - 如何在不知 Prop 体IP版本的情况下创建 `IpAddr`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42030345/
package main import ( "fmt" "strings" ) type IPAddr [4]byte func (ip IPAddr) String() string
如何使用 Windows API 从主机名(例如“myhost”)转换为一种类型的 IPAddr。 IPAddr 是一个无符号长整型。 最佳答案 试试这个(已编辑): hostent * record
我经常需要将原始的、字节编码的 IPv6 地址从 ipaddr-py project 转换为 IPv6Address 对象。 .初始化程序不接受字节编码的 IPv6 地址,如下所示: >>> impo
我在玩Iron,遇到了这个问题。 fn main() { let mut router = Router::new(); let address = "127.0.0.1"; // o
在 Rust 中,很容易从 IpV4Addr 创建一个 IpAddr: let ipv4 = IpV4Addr::new(127,0,0,1); let ip = IpAddr::V4(ipv4);
我必须在这里做错事......我目前正在尝试使用内置模块验证 ip 是否在特定子网内。 我正在使用 activepython: ActivePython 3.1.2.3 (ActiveState So
我想以与 net.IPAddr 相同的表示法显示 net.IPMask 类型的对象。我希望能够对 IPv4 和 IPv6 掩码执行此操作。例如: "fffffe00"---> "255.255.254
如何从它的 json 表示中取回 IPAddr 实例? 上下文: 我正在开发一个使用 draftsman gem 的 Rails 应用程序。本质上,当一个人对数据库中的记录进行更改并且 ruby
今天,在从 Google Cloud SDK 运行 App Engine (GAE) 标准本地开发环境时,我们的开发容器开始抛出错误。 ERROR 2017-12-15 09:38:37,766
使用 ruby 2.0.0,如何将 IPAddr 类型的对象转换为 NetAddr::CIDR? 例子: IPAddr.new("1a03:a240:0100::/56") IPAddr.new(
蛮力法: from ipaddr import IPv4Network n = IPv4Network('10.10.128.0/17') all = list(n.iterhosts()) # wi
这个问题在这里已经有了答案: Why cast an unused function parameter value to void? (2 个答案) 关闭 5 年前。 我正在研究 Iotivity
我正在尝试使用此 tutorial 让 Django 在 GAE 上运行. 当我运行 python manage.py runserver 时,我得到了下面的堆栈跟踪。我是 django 和 pyth
如何使用 shell 脚本从 html 页面调用 Linux 命令提示符...?对于经验: 我是该小组的新手,正在寻找一些关于编写一个或多个 cgi 脚本的快速建议/帮助。不幸的是,我没有时间/资源来
我的 Rails 项目有问题。在以前的项目(不是 Rails)中,我只是使用 PostgreSQL 中的“inet”类型来存储带有子网的 IP 地址,如下所示: 192.168.1.0/30 19
使用标准库中的 IPAddr: IPAddr.new('192.168.0.1').family => 2 IPAddr.new('1a03:a240:0100:0000:0000:0000:0000
我正在尝试编写一个应用程序来 ping 一个 ip 地址并提供与 ping 相关的相关信息。虽然我遇到了很多错误,但我选择首先尝试并学习解决这个错误!我有一小段代码和一个包含编译器错误的单独文档。如果
当使用 PostgreSQL 将数据存储在类字符串验证类型的字段中时,如 xml、json、jsonb、xml、ltree 等,INSERT 或 UPDATE 失败并出现如下错误: column "t
我是一名优秀的程序员,十分优秀!