Ruby open-uri: configurar a autenticação Basic do proxy
Use a opção de autenticação de proxy do open-uri sem misturá-la com credenciais de destino ou com os padrões do ambiente.
Use a opção Basic de proxy dedicada do open-uri para a conta intermediária:
require 'open-uri'
body = URI.open(
'https://example.com/',
proxy_http_basic_authentication: [
'http://203.0.113.10:8080',
ENV.fetch('PROXY_USER'),
ENV.fetch('PROXY_PASSWORD')
],
open_timeout: 5,
read_timeout: 10
) { |response| response.read }Substitua o endpoint da documentação e obtenha os valores da conta na fonte de segredos pretendida. Não coloque a palavra-passe num URL que uma exceção ou um relatório de suporte possa imprimir mais tarde.
| Opção OpenRead | Utilização |
|---|---|
proxy_http_basic_authentication | Endereço do proxy e o seu utilizador/palavra-passe Basic. |
proxy | Seleção de proxy sem essa opção autenticada combinada; fornecer ambas gera um erro de argumento. |
http_basic_authentication | Conta do servidor de destino. |
proxy: nil | Torne esta leitura direta apesar dos padrões do ambiente. |
Sem uma opção de proxy explícita, o open-uri pode usar variáveis de ambiente de proxy específicas do esquema. A opção autenticada já inclui o seu endpoint; não precisa de um segundo valor proxy.
Esta interface trata da autenticação Basic do proxy. Um serviço que exija outro mecanismo precisa de um cliente compatível ou de uma integração aprovada. Mantenha a verificação HTTPS ativa e depois inspecione o estado/conteúdo: um início de sessão de proxy funcional não prova que o destino devolveu o recurso esperado.