fix: test if valid server (#7856)
* fix: #7853, test if valid server Signed-off-by: fufesou <shuanglongchen@yeah.net> * refact comments Signed-off-by: fufesou <shuanglongchen@yeah.net> --------- Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
		
							parent
							
								
									30ad142868
								
							
						
					
					
						commit
						22e58d7623
					
				| @ -54,6 +54,15 @@ pub fn increase_port<T: std::string::ToString>(host: T, offset: i32) -> String { | |||||||
| pub fn test_if_valid_server(host: &str) -> String { | pub fn test_if_valid_server(host: &str) -> String { | ||||||
|     info!("Testing server validity for host: {}", host); |     info!("Testing server validity for host: {}", host); | ||||||
|     use std::net::ToSocketAddrs; |     use std::net::ToSocketAddrs; | ||||||
|  | 
 | ||||||
|  |     let host = if !host.contains("://") { | ||||||
|  |         // We just add a scheme for testing the domain and port parts,
 | ||||||
|  |         // we don't care about the scheme, so "http://" is used for simple.
 | ||||||
|  |         format!("http://{}", host) | ||||||
|  |     } else { | ||||||
|  |         host.to_string() | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     // Even if the current network type is a proxy type,
 |     // Even if the current network type is a proxy type,
 | ||||||
|     // the system DNS should be used to resolve the proxy server address.
 |     // the system DNS should be used to resolve the proxy server address.
 | ||||||
|     host.into_proxy_scheme() |     host.into_proxy_scheme() | ||||||
| @ -249,6 +258,11 @@ mod tests { | |||||||
|         // on Linux, "1" is resolved to "0.0.0.1"
 |         // on Linux, "1" is resolved to "0.0.0.1"
 | ||||||
|         assert!(test_if_valid_server("1.1.1.1").is_empty()); |         assert!(test_if_valid_server("1.1.1.1").is_empty()); | ||||||
|         assert!(test_if_valid_server("1.1.1.1:1").is_empty()); |         assert!(test_if_valid_server("1.1.1.1:1").is_empty()); | ||||||
|  |         assert!(test_if_valid_server("abcd.com:1").is_empty()); | ||||||
|  |         assert!(test_if_valid_server("http://abcd.com:1").is_empty()); | ||||||
|  |         assert!(test_if_valid_server("https://abcd.com:1").is_empty()); | ||||||
|  |         assert!(test_if_valid_server("socks5://abcd.com:1").is_empty()); | ||||||
|  |         assert!(test_if_valid_server("https://1.1.1.1:1").is_empty()); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     #[test] |     #[test] | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user