Интернет моей компании работает на прокси-сервере с проверкой подлинности (т. Е. Браузер запрашивает окно для ввода имени пользователя / пароля при каждой попытке доступа к любой веб-странице).
Теперь у меня есть приложение для Windows, которое пытается получить доступ к Интернету (например, WebPI / Visual Studio 2008 для каналов RSS), но, поскольку они не могут открыть окно аутентификации, они не могут подключиться к Интернету с ошибкой:
(407) Требуется проверка подлинности прокси
.
Исключением является VS2008, в первый раз он всегда не может загрузить RSS-каналы на странице запуска, но когда я нажимаю на ссылку, отображается окно аутентификации, и после этого все работает нормально.
У меня такой вопрос: как настроить обычное приложение Windows (через файл app.config / app.manifest) для доступа к сети, чтобы иметь возможность отображать окно аутентификации или предоставлять учетные данные по умолчанию.
Чтобы исследовать эту тему, я создал одно консольное приложение на VS2008, которое пытается что-то найти в Google и отобразить результат на консоли. Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
namespace WebAccess.Test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter Serach Criteria:");
string criteria = Console.ReadLine();
string baseAddress = "http://www.google.com/search?q=";
string output = "";
try
{
// Create the web request
HttpWebRequest request = WebRequest.Create(baseAddress + criteria) as HttpWebRequest;
// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
// Console application output
output = reader.ReadToEnd();
}
Console.WriteLine("\nResponse : \n\n{0}", output);
}
catch (Exception ex)
{
Console.WriteLine("\nError : \n\n{0}", ex.ToString());
}
}
}
}
При запуске это выдает ошибку
Enter Serach Criteria:
Lalit
Error :
System.Net.WebException: The remote server returned an error: (407) Proxy Authen
tication Required.
at System.Net.HttpWebRequest.GetResponse()
at WebAccess.Test.Program.Main(String[] args) in D:\LK\Docs\VS.NET\WebAccess.
Test\WebAccess.Test\Program.cs:line 26
Press any key to continue . . .