Я не уверен, почему вы хотите проверить дополнительный адрес электронной почты, но я бы посоветовал вам использовать
^$|^[^@\s]+@[^@\s]+$
, что означает
^$ empty string
| or
^ beginning of string
[^@\s]+ any character but @ or whitespace
@
[^@\s]+
$ end of string
Вы выиграли 't прекратить поддельные электронные письма в любом случае, и таким образом вы не прекратите действительные адреса.
FTP-клиенты .NET framework (FtpWebRequest
или WebClient
) не могут подключиться с использованием прокси SOCKS, поддерживаются только HTTP [только скачивание] и прокси-серверы ISA :
Класс FtpWebRequest поддерживает прокси-серверы HTTP и ISA Firewall Client.
Если указанный прокси-сервер является прокси-сервером HTTP, поддерживаются только команды DownloadFile, ListDirectory и ListDirectoryDetails.
blockquote >Итак, вам нужно использовать стороннюю библиотеку FTP.
Например, с помощью сборки WinSCP .NET вы можете использовать:
// Setup session options SessionOptions sessionOptions = new SessionOptions { Protocol = Protocol.Ftp, HostName = "example.com", UserName = "user", Password = "mypassword", }; // Configure proxy sessionOptions.AddRawSettings("ProxyMethod", "2"); // SOCKS5 proxy sessionOptions.AddRawSettings("ProxyHost", "proxy"); using (Session session = new Session()) { // Connect session.Open(sessionOptions); // Your code }
Для параметров для
SessionOptions.AddRawSettings
см. исходные настройки .Легче, чтобы WinSCP GUI генерировал C # FTP код шаблона для вас.
Обратите внимание, что сборка WinSCP .NET не является родной библиотекой .NET. Это довольно тонкая оболочка .NET поверх консольного приложения.
(я автор WinSCP)