چگونه از پروکسیهای SOCKS5 Dataimpulse با curl و Python در macOS استفاده کنیم
بیاموزید که پروکسیهای SOCKS5 Dataimpulse را روی macOS برای curl و Python پیکربندی کنید، همراه با مثالهای عملی برای وباسکرپینگ و تست API.
مرور کلی
SOCKS5 یک پروتکل پروکسی همهکاره است که هر ترافیک TCP را مدیریت میکند و آن را برای ابزارهای خط فرمان و اسکریپتهای Python ایدهآل میسازد. این آموزش نشان میدهد چگونه از پروکسیهای SOCKS5 Dataimpulse روی macOS با curl و کتابخانه requests پایتون استفاده کنید، از جمله نکات احراز هویت و چرخش.
پیشنیازها
- macOS 10.15 یا جدیدتر
- اطلاعات ورود پروکسی SOCKS5 Dataimpulse (میزبان، پورت، نام کاربری، رمز عبور)
curl(از پیش نصبشده) و Python 3- اختیاری:
pipبرای نصب بستههای Python
چرا SOCKS5؟
Dataimpulse از هر دو HTTP و SOCKS5 پشتیبانی میکند. SOCKS5 در سطح پایینتری کار میکند و از UDP و TCP پشتیبانی میکند و اغلب برای ترافیک غیر HTTP قابل اعتمادتر است. برای وباسکرپینگ، میتواند به اجتناب از مسدودسازیهای مختص پروتکل کمک کند.
مراحل
-
اطلاعات ورود SOCKS5 Dataimpulse خود را دریافت کنید. در داشبورد Dataimpulse خود، یک endpoint SOCKS5 را پیدا کنید. میزبان، پورت، نام کاربری و رمز عبور را یادداشت کنید.
-
متغیرهای محیطی را تنظیم کنید (اختیاری اما راحت). ترمینال را باز کنید و اجرا کنید:
export DAI_PROXY_HOST="your-proxy-host" export DAI_PROXY_PORT="your-proxy-port" export DAI_PROXY_USER="your-username" export DAI_PROXY_PASS="your-password"این متغیرها در دستورات بعدی استفاده خواهند شد.
-
با curl تست کنید. از فلگ
--proxyبا اسکیمsocks5hاستفاده کنید (حرفhتضمین میکند که DNS از طریق پروکسی حل میشود):curl --proxy socks5h://$DAI_PROXY_USER:$DAI_PROXY_PASS@$DAI_PROXY_HOST:$DAI_PROXY_PORT https://httpbin.org/ipشما باید یک پاسخ JSON با IP Dataimpulse ببینید.
-
از Python با requests و PySocks استفاده کنید. بستههای مورد نیاز را نصب کنید:
pip3 install requests requests[socks]یک اسکریپت Python به نام
proxy_test.pyایجاد کنید:import os import requests proxy_host = os.getenv('DAI_PROXY_HOST') proxy_port = os.getenv('DAI_PROXY_PORT') proxy_user = os.getenv('DAI_PROXY_USER') proxy_pass = os.getenv('DAI_PROXY_PASS') proxies = { 'http': f'socks5h://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}', 'https': f'socks5h://{proxy_user}:{proxy_pass}@{proxy_host}:{proxy_port}' } response = requests.get('https://httpbin.org/ip', proxies=proxies, timeout=30) print(response.json())اجرا کنید:
python3 proxy_test.py -
با یک اسکریپت اسکرپینگ ادغام کنید. برای اسکرپینگ ساده، از دیکشنری
proxiesدوباره استفاده کنید. برای پروکسیهای چرخشی، برای هر درخواست یک نشست جدید درخواست کنید یا اگر Dataimpulse یک endpoint چرخشی ارائه میدهد از آن استفاده کنید (داشبورد خود را بررسی کنید). مثال:import requests import random # Assuming you have a list of proxy endpoints proxy_list = [ f'socks5h://{user}:{pass}@{host}:{port}' for host, port, user, pass in [ # your endpoints ] ] def fetch(url): proxy = random.choice(proxy_list) return requests.get(url, proxies={'http': proxy, 'https': proxy}, timeout=30) -
DNS و IP را تأیید کنید. از
curlباsocks5hاستفاده کنید تا مطمئن شوید DNS به صورت از راه دور حل میشود. اگر IP واقعی خود را میبینید، بررسی کنید که ازsocks5hاستفاده میکنید و نهsocks5.
عیبیابی
- اتصال رد شد: میزبان و پورت را بررسی کنید. مطمئن شوید IP شما در صورت نیاز در لیست سفید قرار دارد.
- خطای احراز هویت: نام کاربری و رمز عبور را دوباره بررسی کنید. برخی کاراکترهای خاص ممکن است نیاز به URL encoding در URL پروکسی داشته باشند.
- نشت DNS: همیشه از
socks5hاستفاده کنید (یا حل DNS از راه دور را پیکربندی کنید) تا از کوئریهای DNS محلی جلوگیری کنید. - خطاهای timeout: مقدار timeout را در Python افزایش دهید و ابتدا با
curlتست کنید. پروکسیهای موبایل ممکن است تأخیر بیشتری داشته باشند.
خلاصه
استفاده از پروکسیهای SOCKS5 Dataimpulse روی macOS با curl و Python ساده است، زمانی که احراز هویت و حل DNS را به درستی مدیریت کنید. اسکیم socks5h DNS از راه دور را تضمین میکند، و کتابخانه requests پایتون همراه با PySocks راهی انعطافپذیر برای ادغام پروکسیها در اسکریپتهای شما فراهم میکند. همیشه با httpbin.org/ip تست کنید تا IP خروجی خود را تأیید کنید.