Configurar Proxy Autenticado nas Ferramentas BotCity¶
Este guia mostra como fornecer as credenciais do proxy corporativo autenticado para as ferramentas do BotCity Studio SDK (Wizard, BotRunner, BotCLI, BotStudio, Diagnostic) e para as automações Python, garantindo que a instalação, a execução dos robôs e a comunicação com o Orquestrador passem pela autenticação da rede.
Versões mínimas
Em versões anteriores às listadas abaixo, as propriedades descritas neste guia são ignoradas.
- Wizard 3.4.0
- BotRunner 3.6.0
- BotCLI 2.2.0
- BotStudio 3.3.0
- Diagnostic 1.4.0
As propriedades do proxy¶
A rede exige um usuário e uma senha para o proxy. Hoje essa credencial já é fornecida ao pip através do parâmetro --proxy. As aplicações Java do SDK precisam exatamente da mesma informação, mas fornecida como propriedades da JVM. Com as propriedades configuradas, as ferramentas enviam a credencial ao proxy logo na primeira requisição (o mesmo comportamento do pip) e a conexão é autorizada.
Existem oito propriedades. Preencha as quatro para https e repita os mesmos valores nas quatro para http:
-Dhttps.proxyHost=proxy.empresa.com
-Dhttps.proxyPort=porta
-Dhttps.proxyUser=usuario
-Dhttps.proxyPassword=senha
-Dhttp.proxyHost=proxy.empresa.com
-Dhttp.proxyPort=porta
-Dhttp.proxyUser=usuario
-Dhttp.proxyPassword=senha
Proxy sem usuário?
Se o seu proxy não exige autenticação, não defina proxyUser/proxyPassword com valores vazios. Nesse caso, remova completamente as quatro propriedades *User e *Password e mantenha apenas proxyHost e proxyPort. Um valor vazio ainda pode fazer o cliente enviar uma credencial em branco, o que alguns proxies rejeitam. O mesmo vale para as variáveis de ambiente do Python descritas mais abaixo: use http://host:porta, sem o trecho usuario:senha@.
Alternativas para configurar as propriedades do proxy¶
As mesmas oito propriedades podem chegar até as aplicações de duas formas. Apenas uma das opções já é suficiente, não é necessário fazer as duas.
Opção A: Configuração por aplicação, sem usar variável de ambiente¶
Nesse caso, é necessário criar um arquivo .ini ao lado de cada executável (.exe) e alterar uma linha nos scripts do Runner e do CLI.
1. Arquivo .ini ao lado dos executáveis
Crie o arquivo wizard-3.4.0.l4j.ini ao lado de wizard-3.4.0.exe com o seguinte conteúdo:
-Dhttps.proxyHost=proxy.empresa.com
-Dhttps.proxyPort=porta
-Dhttps.proxyUser=usuario
-Dhttps.proxyPassword=senha
-Dhttp.proxyHost=proxy.empresa.com
-Dhttp.proxyPort=porta
-Dhttp.proxyUser=usuario
-Dhttp.proxyPassword=senha
Após a instalação do SDK, essa mesma estratégia também pode ser usada para iniciar o BotStudio com as propriedades adequadas. Nesse caso, basta criar o arquivo BotStudio.l4j.ini ao lado de BotStudio.exe, com o mesmo conteúdo acima.
2. Propriedades nos scripts de inicialização do Runner e do CLI
Na pasta de instalação do SDK, edite os três scripts:
| Arquivo | Finalidade |
|---|---|
BotRunnerBackgroundWrapper.bat |
Inicia o Runner em segundo plano |
BotRunner-gui.bat |
Inicia o Runner com interface gráfica |
BotCLI.bat |
Inicia a ferramenta de linha de comando |
Em cada um, insira as propriedades entre java e -jar. Antes e depois, para o Runner:
Antes
Depois"%SCRIPTPATH%\win32\java\bin\java" -Dfile.encoding=UTF-8 "-Dhttps.proxyHost=proxy.empresa.com" "-Dhttps.proxyPort=porta" "-Dhttps.proxyUser=usuario" "-Dhttps.proxyPassword=senha" "-Dhttp.proxyHost=proxy.empresa.com" "-Dhttp.proxyPort=porta" "-Dhttp.proxyUser=usuario" "-Dhttp.proxyPassword=senha" -jar "%SCRIPTPATH%\bin\botrunner.jar"
Vantagens:
- Não cria uma variável no escopo da máquina.
- A credencial fica restrita apenas às aplicações do SDK.
- Nenhuma outra aplicação Java na máquina é afetada.
Desvantagens:
- Toda atualização ou nova instalação substitui os arquivos e exige refazer a configuração.
- Existem vários arquivos para manter.
Opção B: Via variável de ambiente JAVA_TOOL_OPTIONS¶
Essa é a alternativa mais simples: uma única variável de ambiente no escopo da máquina, lida automaticamente por qualquer aplicação Java.
- Nome da variável:
JAVA_TOOL_OPTIONS - Valor da variável:
-Dhttps.proxyHost=proxy.empresa.com -Dhttps.proxyPort=porta -Dhttps.proxyUser=usuario -Dhttps.proxyPassword=senha -Dhttp.proxyHost=proxy.empresa.com -Dhttp.proxyPort=porta -Dhttp.proxyUser=usuario -Dhttp.proxyPassword=senha
Crie a variável em Propriedades do Sistema → Variáveis de Ambiente → Variáveis do sistema.
Reinicie após criar a variável
Depois de criar a variável, feche e reabra qualquer terminal e reinicie o Runner, o BotStudio e o próprio Wizard. Cada processo só lê o ambiente quando é iniciado.
Vantagens:
- Configuração única, aplicada a todas as ferramentas.
- Sobrevive a atualizações e reinstalações do SDK.
Desvantagens:
- É uma variável no escopo da máquina: aplica-se a toda JVM no servidor.
Automações Python: substituir --proxy por variáveis de ambiente¶
Hoje, a instalação de pacotes é feita com pip install --proxy http://usuario:senha@proxy..., digitado manualmente. Isso precisa mudar por dois motivos:
- É o Runner quem instala as dependências do robô. Toda vez que ele prepara um robô, executa o
pipalgumas vezes (atualizandopip,setuptools,wheele depois o pacote ourequirements.txt), e não há onde digitar--proxy. - O código do robô também acessa a rede. Chamadas do SDK como
maestro.finish_task()oumaestro.alert(), usadas em integrações com a plataforma, também podem falhar na autenticação do proxy se a credencial não estiver disponível. O--proxydopipnão alcança essas chamadas.
Variáveis de ambiente resolvem os dois casos de uma vez. Crie HTTP_PROXY e HTTPS_PROXY no escopo da Máquina, ou no escopo do usuário que executa o Runner. O valor é exatamente o mesmo que hoje é passado para a flag --proxy, no formato http://usuario:senha@host:porta.
Reinicie o Runner após criar as variáveis
O Runner repassa aos robôs e ao pip o ambiente que recebeu quando foi iniciado.
Caracteres especiais na senha¶
Diferente das propriedades da JVM, onde a senha é escrita literalmente, aqui o usuário e a senha ficam dentro de uma URL. Qualquer caractere reservado precisa ser codificado, ou a URL é interpretada incorretamente e a autenticação falha:
| Caractere | Escrever como | Caractere | Escrever como |
|---|---|---|---|
@ |
%40 |
# |
%23 |
: |
%3A |
& |
%26 |
/ |
%2F |
? |
%3F |
\ (domínio) |
%5C |
% |
%25 |
Exemplo: o usuário Lara com a senha p@ss:2026 vira http://Lara:p%40ss%3A2026@proxy.empresa.com:8080.
Ambientes virtuais¶
Como HTTP_PROXY/HTTPS_PROXY são lidas diretamente pelo pip e pela biblioteca requests, elas funcionam para qualquer venv, sem necessidade de configuração adicional por ambiente.

