во второй раз проверка прокси не удалась с помощью API webRequest - PullRequest
0 голосов
/ 06 ноября 2018

в приложении Windows, webRequest.GetResponse() Поведение:

1) В первый раз я попробовал с "invalid user name/ credentials" и получил ошибку ниже.

"ОШИБКА: удаленный сервер возвратил ошибку: (407) Прокси Требуется аутентификация. "

и сейчас я даю действительный "user name and credentials" -> получаю ответ

2) Теперь обратный сценарий, Т.е. я вызвал API с правильными именем пользователя и паролем -> работает

после этого, если я попытаюсь использовать недействительные учетные данные, я получу ответ.

Фрагмент кода:

private void button1_Click(object sender, EventArgs e)
    {
        label1.Text = string.Empty;
        var webProxy = new WebProxy("http://proxy:80/",true)
        {
            Credentials = new NetworkCredential("UserName", "PassWord"),
            UseDefaultCredentials = false
        };


        WebRequest.DefaultWebProxy = webProxy;
        try
        {
            var webRequest = (HttpWebRequest)WebRequest.Create("http://Google.co.in");
            webRequest.Proxy = webProxy;
            webRequest.Timeout = 30 * 1000;
            using (var webResponse = (HttpWebResponse)webRequest.GetResponse())
            {
                label1.Text = string.Format("WebRequest Response Code : {0}. Web Request Status : {1}", webResponse.StatusCode, webResponse.StatusDescription);
            }

        }
        catch (Exception ex)
        {
            label1.Text = ex.Message;
        }
        finally { WebRequest.DefaultWebProxy = null; }

    }

Я не могу найти точную причину, по которой вызов становится успешным, пожалуйста, помогите мне разобраться в вышеописанном сценарии.

...