Introdução
Instalação
Guias
- Engine
- Profile
- Browser
- BrowserView
- Navegação
- Conteúdo
- DOM
- JavaScript
- Pop-ups
- Diálogos
- Downloads
- Extensões
- Rede
- Cache
- Cookies
- Proxy
- Autenticação
- Plugins
- Impressão
- Senhas
- Perfis de dados do Usuário
- Cartões de Crédito
- Mídia
- Área de transferência
- Zoom
- Corretor Ortográfico
- Implantação
- Chromium
Resolução de Problemas
Proxy
Este documento descreve como funciona a funcionalidade proxy no JxBrowser. Aqui você pode encontrar como configurar as definições de proxy e tratar os requests de autenticação de proxy.
Por padrão, o JxBrowser utiliza as definições de proxy do sistema.
Proxy do Sistema
Windows
O JxBrowser utiliza as mesmas definições que o Microsoft Edge utiliza.
macOS
O JxBrowser utiliza as definições de proxy listadas no Painel de Controle de Rede. Estas são as mesmas definições que o Safari utiliza.
Linux
O JxBrowser utiliza as definições de proxy do GNOME/KDE ou utiliza determinadas variáveis de ambiente. Quando você modifica as definições de proxy do JxBrowser, não modifica as definições de proxy globais do sistema.
Configurações
Se não desejar utilizar as definições de proxy do sistema, você pode configurar cada Profile
com as suas próprias definições de proxy.
Para configurar as definições de proxy, utilize a opção Proxy
:
Proxy proxy = profile.proxy();
val proxy = profile.proxy()
Se você utilizar o método Engine.proxy()
obtém a instância Proxy
associada ao perfil padrão.
Se desejar dizer à biblioteca para voltar a utilizar as definições de proxy do sistema, chame:
proxy.config(SystemProxyConfig.newInstance());
proxy.config(SystemProxyConfig.newInstance())
As definições de proxy são armazenadas no diretório Dados do Usuário. Assim, se você configurar o Engine
para utilizar um diretório específico de dados do usuário, o Engine
se lembrará das definições de proxy e vai restaurá-las da próxima vez que o criar.
Direto
Com esta configuração de proxy, a conexão não utilizará nenhum servidor proxy:
proxy.config(DirectProxyConfig.newInstance());
proxy.config(DirectProxyConfig.newInstance())
Deteção Automática
Com esta configuração de proxy, a conexão detecta automaticamente as definições de proxy:
proxy.config(AutoDetectProxyConfig.newInstance());
proxy.config(AutoDetectProxyConfig.newInstance())
A detecção automática de proxy é um processo pelo qual um servidor proxy da Web é identificado pelo sistema. Esta funcionalidade também é conhecida como Auto-Descoberta Web Proxy (WPAD). Quando a deteção automática de proxy está ativada, o sistema tenta localizar um script de configuração de proxy (wpad.dat
ou proxy.pac
) que é responsável por retornar o conjunto de proxies. Se o script de configuração do proxy for encontrado, o script é baixado, compilado e executado no computador local.
Personalizado
Com esta configuração de proxy, você pode fornecer definições de proxy personalizadas para os protocolos HTTP, HTTPS e FTP:
String proxyRules = "http=foo:80;https=foo:80;ftp=foo:80;socks=foo:80";
String exceptions = "<local>"; // ignorar o servidor proxy para páginas Web locais
proxy.config(CustomProxyConfig.newInstance(proxyRules, exceptions));
val proxyRules = "http=foo:80;https=foo:80;ftp=foo:80;socks=foo:80"
val exceptions = "<local>" // ignorar o servidor proxy para páginas web locais
proxy.config(CustomProxyConfig.newInstance(proxyRules, exceptions))
Exemplos de regras de proxy:
http=foopy:80;ftp=foopy2
significa utilizar o proxy HTTPfoopy:80
para URLshttp://
e o proxy HTTPfoopy2:80
para URLsftp://
.foopy:80
significa utilizar o proxy HTTPfoopy:80
para todos os URLs.socks4://foopy
significa utilizar o proxy SOCKS v4foopy:1080
para todas as URLs.
O formato das exceções pode ser qualquer um dos seguintes:
[ URL_SCHEME "://" ] HOSTNAME_PATTERN [ ":" <port> ]
Exemplos:
foobar.com *foobar.com *.foobar.com *foobar.com:99 https://x.*.y.com:99
"." HOSTNAME_SUFFIX_PATTERN [ ":" PORT ]
Exemplos:
.google.com .com http://.google.com
[ SCHEME "://" ] IP_LITERAL [ ":" PORT ]
Exemplos:
127.0.1 [0:0::1] [::1] http://[::1]:99
IP_LITERAL "/" PREFIX_LENGHT_IN_BITS
.Exemplos:
192.168.1.1/16 fefe:13::abc/33
"<local>"
. Corresponder endereços locais.<local>
significa que o host corresponde a um dos seguintes:127.0.0.1
,::1
,localhost
.
Se precisar fornecer várias regras de exceção, você pode separá-las utilizando vírgulas: *foobar.com,.google.com,<local>
.
PAC
Com esta configuração de proxy, a conexão utiliza as definições de proxy recebidas do arquivo proxy auto-config (PAC). Você deve fornecer um URL válido do arquivo PAC necessário:
proxy.config(UrlProxyConfig.newInstance("<pac-file-url>"));
proxy.config(UrlProxyConfig.newInstance("<pac-file-url>"))
A URL para o arquivo PAC precisa ser um endereço http://
válido. Não é possível fornecer um caminho para um arquivo *.pac
armazenado no sistema de arquivos local. O nome do arquivo PAC deve ter a extensão pac. Por exemplo, http://my-site.com/proxy.pac
. Num servidor Web, o arquivo pac deve ser servido com o tipo de mime application/x-ns-proxy-autoconfig
.
Autenticação
O JxBrowser suporta a autenticação proxy. Consulte Autenticação.
O Chromium não suporta autenticação baseada em senha para proxies SOCKS.