Tópicos populares: Multilogin X, Multilogin 6,
Convertendo listas de proxy externo em arquivos JSON prontos para 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 da lista de proxy aqui, se houver.
file_path = "C:/Users/.../input_list.txt"
# Cole a lista de proxy aqui. Separadores suportados: vírgula, barra, espaço, nova linha
paste_list = """
host:port:username:password
"""
# Lendo os proxies do caminho do arquivo, 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
# Entrada do usuário necessária: 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 separador de linha do bloco 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 - Insere o usuário para a origem da lista de proxy preferencial
def main():
# Seleciona a origem da lista de proxy
print("Select the list source:")
print("(1) from TEXT")
print("(2) from PATH")
choice = input()
# Tome ações com base na fonte 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 HTTP/SOCKS5
proxy_type = get_proxy_type()
# Separa a lista de proxy 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()]
# Cria um objeto JSON semelhante à saída da API para fácil integração futura
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 detalhes do 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: credenciais de proxy externo 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