Está frustrado por não conseguir acessar certos sites ou serviços online?
Gostaria de ultrapassar essas barreiras e desfrutar do conteúdo que realmente lhe interessa?
Se a sua resposta for afirmativa, considere a possibilidade de utilizar um servidor proxy através da linha de comandos, recorrendo às ferramentas cURL ou wget.
Para começar, vamos esclarecer o que é exatamente um proxy e como este opera.
O que é um Servidor Proxy?
Um servidor proxy funciona como um elo de ligação entre o seu dispositivo, seja ele um computador ou smartphone, e a vasta rede da Internet.
Quando você tenta aceder a um site ou serviço, o seu pedido não é enviado diretamente ao destino, mas sim encaminhado para o servidor proxy.
Este, por sua vez, envia a sua solicitação ao servidor de destino e recebe a resposta. Finalmente, o servidor proxy reencaminha essa resposta para o seu dispositivo.
Imagine ter um assistente que se encarrega de toda a comunicação entre você e o servidor de destino.
Mas, afinal, qual a vantagem de usar um servidor proxy?
Existem diversas razões.
A utilização de um servidor proxy pode ser uma mais-valia para a sua privacidade e anonimato. Quando você se conecta a um site ou serviço através de um proxy, o seu endereço IP original é ocultado do servidor de destino. Este apenas visualiza o endereço IP do proxy. Esta medida dificulta o rastreamento das suas atividades online.
E há mais…
Outra razão para usar um servidor proxy é a possibilidade de filtrar conteúdo. Esta funcionalidade é particularmente útil para organizações que pretendem controlar o acesso a determinados tipos de conteúdo.
Os servidores proxy podem ser configurados para bloquear o acesso a sites específicos, com base em critérios como palavras-chave ou categorias de URLs. Isto pode contribuir para que os colaboradores não acedam a sites impróprios ou que causem distração durante as horas de trabalho.
Caso queira explorar as diferenças entre proxy e VPN, sinta-se à vontade para consultar este artigo.
Como usar um proxy com cURL?
cURL é uma ferramenta de linha de comandos de código aberto, concebida para a transferência de dados entre servidores, tornando-a essencial para profissionais de tecnologia em todo o mundo. A sua notável compatibilidade com uma vasta gama de protocolos, como HTTP, FTP e SMTP.
Permite lidar com as tarefas de transferência de dados mais complexas com facilidade. Além disso, esta ferramenta está equipada com uma variedade de métodos de encriptação seguros, que ajudam a manter a segurança dos dados durante todo o processo de transferência.
O cURL está prontamente disponível para utilização na maioria dos sistemas operativos. Caso não esteja instalado no seu sistema, pode facilmente transferi-lo manualmente. Basta seguir os passos abaixo para instalar o cURL e aproveitar todo o seu potencial.
Windows
- Descarregue o executável do cURL a partir do site oficial.
- Extraia o ficheiro zip para uma pasta no seu computador.
- Adicione o caminho da pasta à variável de ambiente PATH do sistema.
Mac OS
- Abra a aplicação Terminal.
- Instale o Homebrew (se ainda não o fez) executando o seguinte comando.
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
- Agora instale o cURL executando o seguinte comando.
brew install curl
Linux
Na maioria das distribuições Linux, o cURL está instalado por padrão. Se estiver em falta, pode instalá-lo utilizando o gestor de pacotes específico da sua distribuição.
Por exemplo, no Ubuntu ou Debian, pode instalar o cURL executando o seguinte comando.
sudo apt-get install curl
No CentOS ou Fedora, pode usar o comando abaixo.
sudo yum install curl
Após instalar o cURL, pode testá-lo executando o comando “curl –version” no seu terminal/linha de comandos.
Vamos agora ao tema principal.
Pode utilizar um proxy com o cURL especificando o servidor proxy e o número da porta no comando cURL, através da opção -x ou –proxy.
Apresentamos aqui a sintaxe básica de um comando cURL que usa um proxy.
curl -x <servidor-proxy>:<número-da-porta> <url>
Substitua <servidor-proxy> pelo nome do host ou endereço IP do servidor proxy, <número-da-porta> pelo número da porta utilizada pelo proxy e <url> pelo URL do site ou endpoint da API que deseja aceder.
Aqui está um exemplo prático.
curl -x 5.189.184.6:80 ipinfo.io
Este comando envia um pedido ao site ipinfo.io através do servidor proxy em 5.189.184.6 na porta 80. Este exemplo de endereço proxy foi obtido de uma lista de proxies disponível publicamente. Sinta-se à vontade para consultar este site se estiver à procura de um endereço de proxy temporário. Use por sua conta e risco!☢️
Tenha em consideração que poderá também ser necessário fornecer credenciais de autenticação para o servidor proxy. Nesse caso, poderá usar as opções “–proxy-user” e “–proxy-password” para incluir o seu nome de utilizador e palavra-passe. Por exemplo:
curl -x 5.189.184.6:80 –proxy-user nome-de-utilizador:palavra-passe <url-de-destino>
Substitua “nome de utilizador” e “palavra-passe” pelas suas credenciais de autenticação reais para o servidor proxy.
Testando a conexão proxy com cURL
Antes de usar proxy
Aqui, pode verificar que o cURL está a apresentar o meu endereço IP e localização originais. Por motivos de segurança, ocultei o meu endereço IP.
Depois de usar um proxy
Nesta situação, o cURL está a mostrar o endereço do proxy em vez do meu endereço IP original.
Como usar proxy com wget?
wget é uma ferramenta de linha de comandos utilizada para descarregar arquivos da Internet. Já vem pré-instalada na maioria dos sistemas Linux, Unix e macOS, estando também disponível para Windows.
Para instalar o wget num sistema Linux, pode recorrer ao gestor de pacotes da sua distribuição.
Por exemplo, no Debian ou Ubuntu, pode utilizar o seguinte comando:
sudo apt-get install wget
No CentOS ou Fedora
sudo yum install wget
No macOS, pode instalar o wget usando o Homebrew.
brew install wget
No Windows, pode instalar o wget descarregando o executável binário do site oficial do GNU e adicionando-o ao caminho do sistema.
Após instalar o wget, pode usá-lo para descarregar arquivos a partir da linha de comandos, especificando o URL do arquivo que pretende descarregar. Por exemplo, para descarregar um arquivo chamado “exemplo.zip” de um site, pode utilizar o seguinte comando:
wget http://exemplo.com/exemplo.zip
Pode também usar opções adicionais para personalizar o download, como especificar o nome do arquivo ou diretório de saída, limitar a velocidade do download e retomar downloads interrompidos. Para saber mais sobre as opções disponíveis, sinta-se à vontade para consultar o manual do wget, digitando “man wget” no seu terminal.
Vamos agora configurar o proxy usando este wget.
Comece por definir as variáveis de ambiente para o servidor proxy, executando o seguinte comando no terminal.
export http_proxy=http://<servidor_proxy>:<porta>
export https_proxy=https://<servidor_proxy>:<porta>
Teste se o servidor proxy está configurado corretamente executando o seguinte comando:
wget <url-de-destino>
Substitua <url-de-destino> pelo URL do arquivo ou página da Web que deseja descarregar através do servidor proxy. Se o comando conseguir descarregar o arquivo ou página da Web, o servidor proxy está configurado corretamente. Se falhar, poderá ter de verificar as definições e credenciais do servidor proxy.
(Opcional) Para tornar as configurações do servidor proxy permanentes, pode adicionar as variáveis de ambiente ao ficheiro de perfil da shell, como ~/.bashrc ou ~/.bash_profile. Pode adicionar as seguintes linhas no final do ficheiro:
export http_proxy=http://<servidor_proxy>:<porta>
export https_proxy=https://<servidor_proxy>:<porta>
Se o seu servidor proxy exigir autenticação, pode incluir o seu nome de utilizador e palavra-passe nas variáveis de ambiente “http_proxy” e “https_proxy”.
export http_proxy=http://<nome_de_utilizador>:<palavra_passe>@<servidor_proxy>:<porta>
export https_proxy=https://<nome_de_utilizador>:<palavra_passe>@<servidor_proxy>:<porta>
Nota: Alguns servidores proxy podem usar um esquema de protocolo diferente, como SOCKS, em vez de “http” ou “https“. Nesse caso, terá de ajustar o esquema nas variáveis de ambiente e nos URLs.
Testando conexão proxy com wget
Antes de usar proxy
O wget está a mostrar o meu endereço IP original antes de usar um endereço proxy. Por motivos de segurança, tive de ocultar o meu endereço IP.
Depois de usar o proxy
Aqui pode observar que o wget está a tentar estabelecer ligação a um servidor proxy antes de aceder ao site.
Solução de problemas comuns
A utilização de um servidor proxy com cURL e wget pode, por vezes, gerar problemas. Mas não se preocupe, temos algumas dicas de resolução de problemas para o colocar de volta no bom caminho!
#1. Servidor proxy não responde
Se o seu servidor proxy não estiver a responder, pode estar inativo ou com problemas. Para descobrir o que se passa, tente o seguinte.
- Verifique se o servidor proxy está ativo, fazendo ping ao endereço IP do servidor.
- Certifique-se de que introduziu o endereço do servidor proxy e o número da porta corretos.
- Tente usar um servidor proxy diferente para verificar se o problema persiste.
#2. Ligação Recusada
Conexão recusada? Isso não é bom.
Este erro geralmente indica que o servidor proxy não está a aceitar conexões. Apresentamos aqui algumas etapas para solucionar este problema:
- Comece por verificar se o servidor proxy está configurado para aceitar conexões a partir do seu endereço IP ou sub-rede.
- Certifique-se de que o servidor proxy não está a ser bloqueado por uma firewall ou software antivírus.
- Em seguida, verifique se o servidor proxy exige credenciais de autenticação e certifique-se de que introduziu as credenciais corretas.
Não se esqueça de tentar um servidor proxy diferente caso nenhuma destas dicas funcione.
#3. Falha na verificação do certificado SSL/TLS
A verificação do certificado falhou? Parece ser um problema com o certificado SSL/TLS do servidor proxy.
Para solucionar este problema, tente o seguinte:
- Verifique o certificado do servidor proxy para garantir que é válido e não expirou.
- Se o certificado for inválido, entre em contacto com o administrador do servidor proxy para obter um certificado SSL/TLS válido.
- Caso o certificado seja válido e ainda não esteja a funcionar, pode desativar a verificação do certificado SSL/TLS, mas tenha cuidado, pois esta ação pode colocar a sua segurança em risco.
#4. Falha na Autenticação
Se o servidor proxy exigir autenticação e não conseguir autenticar, o mais provável é que tenha introduzido o nome de utilizador e a palavra-passe errados, ou que o servidor proxy esteja a usar um método de autenticação diferente.
Tente ajustar as suas credenciais de autenticação em conformidade, ou contacte o administrador do servidor proxy para obter ajuda.
Nota do autor✍️
Existem muitos fornecedores de proxy gratuitos e pagos disponíveis na Internet, mas uma opção recomendada para uso comercial é o IPRoyal. O IPRoyal oferece uma vasta gama de soluções proxy para empresas, incluindo proxies residenciais e de data center, com vários locais e tipos de IP à escolha.
A IPRoyal disponibiliza serviços proxy confiáveis e seguros para várias aplicações, como web scraping, mineração de dados e automação.
Espero que este artigo tenha sido útil para aprender a usar o proxy com as ferramentas de linha de comandos cURL e wget. Pode também ter interesse em aprender a anonimizar o tráfego do Linux usando cadeias de proxy e a rede Tor.