Skip to content
Intermediate / 2 min read

Как использовать SOCKS5-прокси ProxyScrape в Windows Terminal и PowerShell для веб-скрапинга

Практическое руководство по настройке SOCKS5-прокси ProxyScrape для инструментов командной строки в Windows, включая curl, Windows Terminal и PowerShell, со стратегиями ротации для веб-скрапинга.

Windows SOCKS5 HTTP(S) Веб-скрейпинг

Обзор

В этом руководстве показано, как настроить SOCKS5-прокси ProxyScrape для инструментов командной строки в Windows, включая Windows Terminal, PowerShell и curl. SOCKS5 — универсальный прокси-протокол, который может обрабатывать любой тип трафика, что делает его идеальным для веб-скрапинга, тестирования API и автоматизации. Мы рассмотрим тестирование прокси, настройку переменных среды и ротацию прокси для крупномасштабного скрапинга.

ProxyScrape предлагает резидентные, датацентровые и мобильные прокси с поддержкой HTTP и SOCKS5. Их пул из более чем 97 млн IP-адресов и надежный аптайм делают их отличным выбором для команд, которым нужна надежная инфраструктура.

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть:

  • Активная подписка ProxyScrape (резидентные, датацентровые или мобильные прокси).
  • Данные конечной точки SOCKS5 ProxyScrape: хост, порт, имя пользователя и пароль.
  • Windows 10 или 11 с Windows Terminal (или командной строкой) и PowerShell.
  • Установленный curl. Windows 10 (версия 1803+) и Windows 11 включают curl по умолчанию. Если нет, скачайте его с официального сайта curl.

Шаги

1. Получите конечную точку SOCKS5 ProxyScrape

Войдите в панель управления ProxyScrape и перейдите в раздел списка прокси или конечных точек. Выберите SOCKS5 в качестве протокола, затем скопируйте хост, порт, имя пользователя и пароль для выбранного типа прокси (резидентные, датацентровые или мобильные). Вы также можете увидеть список из нескольких конечных точек, если у вас тариф с ротацией.

2. Проверьте прокси с помощью curl в Windows Terminal

Откройте Windows Terminal (или командную строку) и выполните простую команду curl, чтобы проверить работу прокси. Используйте флаг --socks5-hostname, чтобы также направлять DNS через прокси.

curl --socks5-hostname username:password@host:port https://httpbin.org/ip

Замените username, password, host и port на свои фактические учетные данные. В случае успеха ответ покажет IP-адрес прокси вместо вашего собственного.

3. Настройте переменные среды для использования прокси во всей системе

Многие инструменты командной строки учитывают переменную среды ALL_PROXY. В PowerShell вы можете задать ее для текущего сеанса:

$env:ALL_PROXY = "socks5://username:password@host:port"

Для командной строки используйте:

set ALL_PROXY=socks5://username:password@host:port

Чтобы сделать ее постоянной, добавьте ее в системные переменные среды через настройки Windows или с помощью setx. Учтите, что не все инструменты поддерживают SOCKS5 через переменные среды, но curl, wget и многие другие поддерживают.

4. Используйте SOCKS5 ProxyScrape с curl для веб-скрапинга

После настройки прокси вы можете загружать веб-страницы. Например, чтобы сохранить страницу в файл:

curl --socks5-hostname username:password@host:port -o output.html https://example.com

Если у вас есть список прокси (например, список ротируемых конечных точек от ProxyScrape), вы можете перебирать их в скрипте.

5. Направьте Invoke-WebRequest в PowerShell через ProxyScrape

Invoke-WebRequest в PowerShell изначально не поддерживает SOCKS5. Если вам нужно использовать командлеты PowerShell, вместо этого используйте HTTP-прокси. ProxyScrape также предоставляет HTTP-прокси; вы можете использовать свою HTTP-конечную точку с Invoke-WebRequest:

Invoke-WebRequest -Uri "https://example.com" -Proxy "http://username:password@host:port"

Для SOCKS5 в PowerShell вызывайте curl.exe напрямую, как показано на шаге 2.

6. Используйте SOCKS5 ProxyScrape с Python requests (необязательно)

Если вы используете Python для скрапинга, установите библиотеку requests с поддержкой SOCKS:

pip install requests[socks]

Затем используйте прокси в своем скрипте:

import requests

proxies = {
    'http': 'socks5://username:password@host:port',
    'https': 'socks5://username:password@host:port'
}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.text)

7. Ротация прокси для крупномасштабного скрапинга

Для больших задач выполняйте ротацию между несколькими прокси, чтобы избежать ограничений скорости. Создайте текстовый файл proxies.txt с одним прокси на строку в формате host:port:username:password. Затем используйте скрипт PowerShell для перебора:

$proxies = Get-Content proxies.txt
foreach ($proxy in $proxies) {
    $parts = $proxy -split ':'
    $host = $parts[0]
    $port = $parts[1]
    $user = $parts[2]
    $pass = $parts[3]
    $proxyUrl = "socks5://${user}:${pass}@${host}:${port}"
    $env:ALL_PROXY = $proxyUrl
    curl.exe -s --socks5-hostname "${user}:${pass}@${host}:${port}" https://httpbin.org/ip
}

Настройте скрипт под вашу цель скрапинга.

Устранение неполадок

  • Connection refused (соединение отклонено): Проверьте, что хост и порт указаны верно, и что ваш IP внесен в белый список, если это требуется.
  • Authentication failed (аутентификация не пройдена): Перепроверьте имя пользователя и пароль. Специальные символы могут требовать URL-кодирования (например, @ становится %40).
  • DNS resolution errors (ошибки разрешения DNS): Всегда используйте --socks5-hostname с curl, чтобы разрешение DNS выполнял прокси.
  • Slow performance (низкая производительность): Попробуйте датацентровые прокси для скорости; резидентные прокси более скрытные, но медленнее.
  • Environment variables not working (переменные среды не работают): Некоторые инструменты игнорируют ALL_PROXY. Вместо этого используйте флаги командной строки.

Итог

Вы узнали, как использовать SOCKS5-прокси ProxyScrape с инструментами командной строки в Windows, включая curl, Windows Terminal и PowerShell. Мы рассмотрели тестирование прокси, настройку переменных среды, ротацию прокси для скрапинга и обходные пути для командлетов PowerShell. Надежная инфраструктура ProxyScrape и большой пул из более чем 97 млн IP-адресов делают его отличным выбором для веб-скрапинга и автоматизации. Для более продвинутых сценариев рассмотрите использование их резидентных прокси для скрытности или датацентровых прокси для высокоскоростных задач.