From cc6e071a8d0d0e392750b41319a49e6a130d5ee2 Mon Sep 17 00:00:00 2001 From: xiwangly2 <59991942+xiwangly2@users.noreply.github.com> Date: Tue, 2 Apr 2024 13:34:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E6=B5=8B=E8=AF=95Ru?= =?UTF-8?q?st?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/src/main.rs b/src/main.rs index 2a2f7cc..3f48baa 100644 --- a/src/main.rs +++ b/src/main.rs @@ -30,28 +30,36 @@ async fn main() -> Result<(), Box> { let client = Client::new(); loop { - let resp = client.get(format!("http://{}/", config.inlet_ip)).send().await?; + let resp = client.get(format!("http://{}/", config.inlet_ip)).send().await; - if resp.status().is_success() { - let body = resp.text().await?; + match resp { + Ok(resp) => { + if resp.status().is_success() { + let body = resp.text().await?; - if body.contains("Dr.COMWebLoginID_0.htm") { - let login_url = format!("http://{}:801/eportal/portal/login", config.inlet_ip); - let login_params = vec![ - format!("callback={}", config.callback), - format!("login_method={}", config.login_method), - format!("user_account=,0,{}@{}", config.account, config.operator), - format!("user_password={}", config.password), - format!("wlan_user_ip={}", config.ipv4), - format!("wlan_user_ipv6={}", config.ipv6), - format!("wlan_user_mac={}", config.mac), - ]; - let login_url_with_params = format!("{}?{}", login_url, login_params.join("&")); + if body.contains("Dr.COMWebLoginID_0.htm") { + let login_url = format!("http://{}:801/eportal/portal/login", config.inlet_ip); + let login_params = vec![ + format!("callback={}", config.callback), + format!("login_method={}", config.login_method), + format!("user_account=,0,{}@{}", config.account, config.operator), + format!("user_password={}", config.password), + format!("wlan_user_ip={}", config.ipv4), + format!("wlan_user_ipv6={}", config.ipv6), + format!("wlan_user_mac={}", config.mac), + ]; + let login_url_with_params = format!("{}?{}", login_url, login_params.join("&")); - let _ = client.get(Url::parse(&login_url_with_params)?).send().await?; + let login_result = client.get(Url::parse(&login_url_with_params)?).send().await; - println!("Login successful"); + match login_result { + Ok(_) => println!("Login successful"), + Err(e) => println!("Error occurred during login: {}", e), + } + } + } } + Err(e) => println!("Error occurred during request: {}", e), } sleep(Duration::from_secs(config.attempt_delay as u64));