Obtenha a configuração de proxy antes de acessar um serviço de web externo (.NET 2.0)
Pergunta
Ao tentar invocar um método em um serviço da web externo (na Internet), ele me joga "o servidor remoto retornou um erro: (407) Autenticação de proxy necessária".
Para resolver isso, usei o seguinte código para definir o proxy que usamos no escritório:
//Set the system proxy with valid server address or IP and port.
System.Net.WebProxy pry = new System.Net.WebProxy("MyHost", 8080);
//The DefaultCredentials automically get username and password.
pry.Credentials = System.Net.CredentialCache.DefaultCredentials;
System.Net.WebRequest.DefaultWebProxy = pry;
Isso funciona bem, mas agora ... eu preciso fazer isso "menos codificado" tentando obter as informações do meu sistema, em vez de defini -las manualmente.
Solução
Isso usará qualquer que seja o proxy padrão para o IE, acredito (não depreciado):
Services.MyService service = new Services.MyService();
service.UseDefaultCredentials = true;
service.Proxy = new System.Net.WebProxy();
service.Proxy.Credentials = service.Credentials;
Outras dicas
System.net.webproxy.getDefaultProxy () Embora vs precauções tenham sido obsoletas.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow