[−][src]Struct download_rs::async_download::Download
Download
url : 下载链接
out: 输出目录或输出文件路径
proxy: 使用代理,发现 reqwest 自动使用系统代理不好用 ,
目前只支持 http 代理 如:http://127.0.0.1:7890
,不支持 https,socks5代理(懒)
Methods
impl<'a> Download<'a>
[src]
pub fn new(
url: &'a str,
out: Option<&'a str>,
proxy: Option<&'a str>
) -> Download<'a>
[src]
url: &'a str,
out: Option<&'a str>,
proxy: Option<&'a str>
) -> Download<'a>
创建 Download对象
url: 需要下载的url
out: 保存地址(具体文件夹或具体文件名)
proxy: 使用代理,发现 reqwest 自动使用系统代理不好用 ,
目前只支持 http 代理 如:http://127.0.0.1:7890
,不支持 https,socks5代理(懒)
pub fn download(&self) -> Result<(), Box<dyn Error>>
[src]
异步方法下载
未使用 #[toikio::main]
方式 而使用 Runtime
的 block_on
方法
避免修改主函数
Examples
use std::error::Error; use download_rs::async_download::Download; fn main() { let url = "https://www.baidu.com/img/bd_logo1.png"; // 当前目录 let filename = "bd_log1.png"; // 指定 下载目录 // let filename = "/download/"; // 指定下载目录下载文件名,需要手动创建下载文件夹 // let filename = "download/bd_log1.png"; //let proxy = Some("http://127.0.0.1:7089"); //let download = Download::new(url,Some(filename),proxy); let download = Download::new(url,Some(filename),None); match download.download() { Ok(_) => println!("下载完成"), Err(e) => println!("下载出错 : {}",e.to_string()), } }
pub async fn download_async<'_>(&'_ self) -> Result<(), Box<dyn Error>>
[src]
异步下载方法 参考:https://github.com/otavio/rsget.git
Example
use download_rs::async_download::Download; #[tokio::main] async fn main() { let url = "https://www.baidu.com/img/bd_logo1.png"; // 当前目录 let filename = "bd_log1.png"; // 指定 下载目录 // let filename = "/download/"; // 指定下载目录下载文件名,需要手动创建下载文件夹 // let filename = "download/bd_log1.png"; //let proxy = Some("http://127.0.0.1:7089"); //let download = Download::new(url,Some(filename),proxy); let download = Download::new(url,Some(filename),None); match download.download_async().await { Err(e) => panic!("error: {}",e.to_string()), Ok(()) => println!("ok") } }
Auto Trait Implementations
impl<'a> RefUnwindSafe for Download<'a>
impl<'a> Send for Download<'a>
impl<'a> Sync for Download<'a>
impl<'a> Unpin for Download<'a>
impl<'a> UnwindSafe for Download<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,