để truy cập Internet Tôi đứng sau một proxy yêu cầu xác thực. Tôi biết việc chuyển thông tin đăng nhập mạng cho proxy như thế này khá đơn giản:Hiển thị hộp thoại xác thực proxy trong C#
FtpWebRequest request = FtpWebRequest.Create(
new Uri("ftp://upload.myserver.com") as FtpWebRequest;
NetworkCredential credentials = new NetworkCredential("username", "password");
request.Credentials = credentials;
Công việc này!
Tôi cũng đã cố gắng sử dụng CredentialCache.DefaultNetworkCredentials
nhưng điều đó không hiệu quả. Tôi muốn tránh lưu trữ tên người dùng và mật khẩu bất cứ nơi nào (mã, cơ sở dữ liệu, tập tin cấu hình).
Tôi nghĩ cách dễ nhất là sử dụng cùng một hộp thoại được hiển thị khi tôi truy cập Internet bằng Internet Explorer. Có ai biết làm thế nào để nâng cao hộp thoại này?
http://services.arcgisonline.com/arcgisexplorer500/help/proxy_connect_to_on_browser_request.png
EDIT
Mục tiêu của nhiệm vụ này là để tải lên một tập tin qua FTP. Cuối cùng tôi phát hiện ra rằng không cần phải thiết lập proxy cho các yêu cầu FTP vì .NET framework không cho phép hoạt động FTP thông qua proxy HTTP. Nhưng bạn phải đặt thuộc tính proxy một cách rõ ràng thành null.
FtpWebRequest request = FtpWebRequest.Create(
new Uri("ftp://upload.myserver.com") as FtpWebRequest;
NetworkCredential credentials = new NetworkCredential("username", "password");
request.Credentials = credentials;
request.Proxy = null;
Thats it!
Tôi không có đủ kiến thức về chủ đề để trả lời câu hỏi của bạn, chỉ cần tạo biểu mẫu đăng nhập, nơi bạn phải nhập tên người dùng và mật khẩu của mình trước khi kết nối. – Nick
Hi Nick, tất nhiên điều này sẽ dễ dàng để làm, nhưng với tôi nó có vẻ như tái phát minh ra bánh xe. Ngay cả trong [MSDN] (http://msdn.microsoft.com/en-us/library/aa983441.aspx) hộp thoại này được đề cập. – Jan