Tópicos populares: Multilogin X, Multilogin 6,
Convertendo credenciais de proxy externo em JSON para uso em API
Neste artigo, mostraremos como converter suas listas de proxy externo em arquivos JSON prontos para API . Essa abordagem permite que você salve todas as suas credenciais em um formato JSON conveniente, facilitando a integração com endpoints API .
Antes de começar
- Certifique-se de ter um ambiente Python configurado com os seguintes pacotes instalados:
- json
- re
- Salve o script
json_proxy_list
na pasta desejada
lista_proxy_json
import json
import re
# Insira o caminho do arquivo contendo a lista de credenciais aqui, se houver.
file_path = "C:/Users/.../input_list.txt"
# Ou cole a lista de credenciais aqui. Separadores suportados: vírgula, barra, espaço, nova linha
paste_list = """
host:port:username:password
"""
# Lendo os proxies contidos no caminho especificado, se houver
def read_proxies_from_file(file_path):
try:
with open(file_path, 'r') as file:
return file.read()
except Exception as e:
print("Error reading file - please check your file PATH.")
print(f'Exception found: {e}')
return
# Necessária ação do usuário: insira o tipo de proxy (HTTP/SOCKS5)
def get_proxy_type():
print("Enter the proxy type:")
print("(1) HTTP")
print("(2) HTTPS")
print("(3) SOCKS5")
choose_type = input()
if choose_type == "1":
proxy_type = "http"
elif choose_type == "2":
proxy_type = "https"
elif choose_type == "3":
proxy_type = "socks5"
else:
print("Invalid proxy type. Enter a valid option number.")
return get_proxy_type()
return proxy_type
# Detectar o separador de linha da lista de credenciais
def get_line_separator(proxy_list):
# Detecta os separadores de linha mais comuns
separators = ['\n', ',', '/', ' ']
separator_counts = {sep: proxy_list.count(sep) for sep in separators}
sorted_separators = sorted(separator_counts, key=separator_counts.get, reverse=True)
most_likely_separator = sorted_separators[0]
# Manipulando valores double como '\n', verificando combinações de separadores comuns
combined_separators = ['\n,', ',\n', '\n/', '/\n', '\n ', ' \n', ', ', ' ,', '/ ', ' /']
for combo in combined_separators:
if combo in proxy_list:
return combo
return most_likely_separator
# Função principal: O usuário deverá escolher a origem da lista de proxies():
# Seleciona a origem da lista de proxy
print("Select the list source:")
print("(1) from TEXT")
print("(2) from PATH")
choice = input()
# Ações baseadas na origem do script:
if choice == '2':
proxy_list_content = read_proxies_from_file(file_path)
if proxy_list_content is None:
return
else:
proxy_list_content = paste_list
# Verifica se o proxy é HTTP/SOCKS5
proxy_type = get_proxy_type()
# Separa a lista de credenciais com base no separador detectado
proxy_lines = re.split(r'[\n, /]+', proxy_list_content.strip())
# Adiciona o tipo de proxy a cada linha
proxy_lines = [f"{proxy_type}:{line.strip()}" for line in proxy_lines if line.strip()]
# Criar um objeto JSON para fácil integração com API
proxies_json = {
"proxies": {
"proxy": []
}
}
# Para cada linha de proxy contida na lista de proxy, pegue cada elemento de proxy para atribuí-lo.
for line in proxy_lines:
parts = line.split(':')
if len(parts) != 5:
print(f"Skipping invalid line: {line}. Please check your proxy credentials file.")
continue
proxy = {
"type": parts[0],
"host": parts[1],
"port": parts[2],
"username": parts[3],
"password": parts[4]
}
proxies_json["proxies"]["proxy"].append(proxy)
# Cria o JSON.dumps e salva no arquivo proxies.json.
with open('proxies.json', 'w') as json_file:
json.dump(proxies_json, json_file, indent=2)
print("File proxies.json was written succesfully.")
if __name__ == "__main__":
main()
Executando o script
- Abra seu terminal e navegue até a pasta que contém o script
- Execute o script
json_proxy_list
- Selecione a fonte da lista de credenciais de proxy que você precisa:
- Na linha 5, cole o caminho do arquivo
.txt
ou - Na linha 8, cole a string de detalhes do proxy
- Na linha 5, cole o caminho do arquivo
- Selecione o tipo de proxy (HTTP/SOCKS5): credenciais de proxy geralmente não incluem um tipo de proxy, então isso anexará corretamente o tipo a todas as linhas de proxy
- Verifique os resultados no arquivo
proxies.json
armazenado na mesma pasta