Các chủ đề phổ biến: Multilogin X, Multilogin 6,
Chuyển đổi danh sách proxy bên ngoài thành các tệp JSON có hỗ trợ API
Bảng tóm tắt
Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách chuyển đổi danh sách proxy bên ngoài của bạn thành các tệp JSON hỗ trợ API . Phương pháp này cho phép bạn lưu tất cả thông tin xác thực của mình ở định dạng JSON thuận tiện, giúp tích hợp dễ dàng hơn với các điểm cuối API .
Trước khi bạn bắt đầu
- Đảm bảo bạn đã thiết lập môi trường Python với các gói sau đây:
- json
- re
- Lưu tập lệnh
json_proxy_list
vào thư mục mong muốn của bạn
json_proxy_list
import json
import re
# Input the proxy list path here, if any.
file_path = "C:/Users/.../input_list.txt"
# Paste the proxy list here. Supported separators: comma, bar, space, newline
paste_list = """
host:port:username:password
"""
# Reading the proxies from the file path, if any
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
# User input needed: proxy type (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
# Detect line separator from block of credentials
def get_line_separator(proxy_list):
# Detect the most common line separators
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]
# Handle double values such as '\n,' by checking combinations of common separators
combined_separators = ['\n,', ',\n', '\n/', '/\n', '\n ', ' \n', ', ', ' ,', '/ ', ' /']
for combo in combined_separators:
if combo in proxy_list:
return combo
return most_likely_separator
# Main Function - Inputs user for preferred proxy list source
def main():
# Select proxy list source
print("Select the list source:")
print("(1) from TEXT")
print("(2) from PATH")
choice = input()
# Take action based on the script source
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
# Check if HTTP/SOCKS5
proxy_type = get_proxy_type()
# Split the proxy list based on detected separator
proxy_lines = re.split(r'[\n, /]+', proxy_list_content.strip())
# Add the proxy type to each line
proxy_lines = [f"{proxy_type}:{line.strip()}" for line in proxy_lines if line.strip()]
# Create JSON object that is similar to API output for easy future integration
proxies_json = {
"proxies": {
"proxy": []
}
}
# For each proxy line contained in the proxy list, take each proxy element to assign it.
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)
# Create the JSON.dumps, save it on proxies.json file.
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()
Chạy tập lệnh
- Mở terminal của bạn và điều hướng đến thư mục chứa tập lệnh
- Chạy tập lệnh
json_proxy_list
- Chọn nguồn danh sách chi tiết proxy mà bạn cần:
- Ở dòng 5, dán đường dẫn tệp
.txt
hoặc - Ở dòng 8, dán chuỗi chi tiết proxy
- Ở dòng 5, dán đường dẫn tệp
- Chọn loại proxy: thông tin xác thực proxy bên ngoài thường không bao gồm loại proxy, do đó, điều này sẽ thêm đúng loại vào tất cả các dòng proxy
- Kiểm tra kết quả trong tệp
proxies.json
được lưu trữ trong cùng thư mục