标准化代理地址,空值返回 None,非法格式抛 ValueError。
(self, proxy_url: Optional[str])
| 91 | return None |
| 92 | |
| 93 | def normalize_proxy_url(self, proxy_url: Optional[str]) -> Optional[str]: |
| 94 | """标准化代理地址,空值返回 None,非法格式抛 ValueError。""" |
| 95 | if proxy_url is None: |
| 96 | return None |
| 97 | |
| 98 | raw = proxy_url.strip() |
| 99 | if not raw: |
| 100 | return None |
| 101 | |
| 102 | parsed = self._parse_proxy_line(raw) |
| 103 | if not parsed: |
| 104 | raise ValueError( |
| 105 | "代理地址格式错误,支持示例:" |
| 106 | "http://user:pass@host:port / " |
| 107 | "socks5://user:pass@host:port / " |
| 108 | "host:port:user:pass / st5 host:port:user:pass" |
| 109 | ) |
| 110 | return parsed |
| 111 | |
| 112 | async def get_proxy_url(self) -> Optional[str]: |
| 113 | """兼容旧调用:返回请求代理地址""" |