rust - 线程 'main' 在 'Err' 值上调用 'Result::unwrap()' 时惊慌失措:UrlRequest(Error(Url(RelativeUrlWithoutBase)))', src\libcore\result.rs:1165:5
问题描述
我正在尝试从 RSS 提要中读取内容。
use rss::Channel;
fn main() {
let channel = Channel::from_url("adaderana.lk/rss.php").unwrap().to_string();
println!("{}", channel);
}
我收到了这个错误信息:
Running `target\debug\news_scrapper.exe` thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: UrlRequest(Error(Url(RelativeUrlWithoutBase)))', src\libcore\result.rs:1165:5 stack backtrace: 0: core::fmt::write
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libcore\fmt\mod.rs:1028 1: std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libstd\io\mod.rs:1412 2: std::sys_common::backtrace::_print
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libstd\sys_common\backtrace.rs:65 3: std::sys_common::backtrace::print
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libstd\sys_common\backtrace.rs:50 4: std::panicking::default_hook::{{closure}}
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libstd\panicking.rs:188 5: std::panicking::default_hook
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libstd\panicking.rs:205 6: std::panicking::rust_panic_with_hook
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libstd\panicking.rs:464 7: std::panicking::continue_panic_fmt
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libstd\panicking.rs:373 8: std::panicking::rust_begin_panic
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libstd\panicking.rs:302 9: core::panicking::panic_fmt
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libcore\panicking.rs:139 10: core::result::unwrap_failed
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libcore\result.rs:1165 11: core::result::Result<rss::channel::Channel, rss::error::Error>::unwrap<rss::channel::Channel,rss::error::Error>
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\src\libcore\result.rs:933 12: news_scrapper::main
at .\src\main.rs:4 13: std::rt::lang_start::{{closure}}<()>
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\src\libstd\rt.rs:61 14: std::rt::lang_start_internal::{{closure}}::{{closure}}
at /rustc/73528e339aae0f17a15ffa49a8ac608f50c6cf14\/src\libstd\rt.rs:48 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. error: process didn't exit successfully: `target\debug\news_scrapper.exe` (exit code: 101)
如果有人可以帮助我,我将不胜感激。
解决方案
错误的相关部分是第一行:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: UrlRequest(Error(Url(RelativeUrlWithoutBase)))
该错误Error(Url(RelativeUrlWithoutBase))
应该是问题所在的线索。
您需要将完整的 URL 传递给Channel::from_url
.
推荐阅读
- java - Jsp包括不工作:找不到文件,状态500
- php - Disable auto hashing of password while login - Laravel
- amazon-web-services - 修复 Amazon Cognito - 使用 Apple 登录 - “提供了无效状态/中继状态”
- java - Java 处理 Spring Data 本机查询投影中的 NPE
- mysql - 排序顺序 SQL 表
- java - TarArchiveOutputStream 未归档隐藏文件
- node.js - 使用 https 我如何对未定义的状态代码进行条件化?
- c# - Linq to Xml C#在特定元素中查找特定元素
- xcode - Xcode项目中可编辑的Swift包?
- mongodb - $或文档中数组的特定元素的属性