/// <summary> /// ����������� ������ � ��������� ������ <see cref="HttpProxyClient"/>. ���������� ��������, �����������, ������� �� ��������� ��������������. /// </summary> /// <param name="proxyAddress">������ ���� - ����:����:���_������������:������. ��� ��������� ��������� �������� ���������������.</param> /// <param name="result">���� �������������� ��������� �������, �� �������� ��������� ������ <see cref="HttpProxyClient"/>, ����� <see langword="null"/>.</param> /// <returns>�������� <see langword="true"/>, ���� �������� <paramref name="proxyAddress"/> ������������ �������, ����� <see langword="false"/>.</returns> public static bool TryParse(string proxyAddress, out HttpProxyClient result) { ProxyClient proxy; if (ProxyClient.TryParse(ProxyType.Http, proxyAddress, out proxy)) { result = proxy as HttpProxyClient; return true; } else { result = null; return false; } }
private string GetProxyAuthorizationHeaderValue(HttpProxyClient httpProxy) { string data = Convert.ToBase64String(Encoding.UTF8.GetBytes( string.Format("{0}:{1}", httpProxy.Username, httpProxy.Password))); return string.Format("Basic {0}", data); }
/// <summary> /// Добавляет в цепочку новый HTTP-прокси клиент. /// </summary> /// <param name="proxyAddress">Строка вида - хост:порт:имя_пользователя:пароль. Три последних параметра являются необязательными.</param> /// <exception cref="System.ArgumentNullException">Значение параметра <paramref name="proxyAddress"/> равно <see langword="null"/>.</exception> /// <exception cref="System.ArgumentException">Значение параметра <paramref name="proxyAddress"/> является пустой строкой.</exception> /// <exception cref="System.FormatException">Формат порта является неправильным.</exception> public void AddHttpProxy(string proxyAddress) { _proxies.Add(HttpProxyClient.Parse(proxyAddress)); }