> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ADSL проксі підключення

> ADSL rotating proxy 集成指南 - XHuoAPI

У умовах посилення боротьби між веб-скребками та анти-скребковими системами, контроль за ризиками на великих веб-сайтах та додатках стає все більш жорстким, одним із заходів є блокування IP-адрес.

Щоб вирішити проблему блокування IP, ефективним способом є налаштування проксі. Після налаштування проксі, веб-скребок може використовувати IP-адресу проксі для маскування своєї реальної IP-адреси, що дозволяє обійти обмеження анти-скребкових систем.

Але якість проксі може бути різною, наприклад, безкоштовні проксі на ринку, майже всі з них є недоступними або заблокованими, а деякі платні звичайні проксі також потрапили до чорних списків контролю ризиків на великих веб-сайтах та додатках. Тому зараз залишається все менше проксі, які можна використовувати для збору якісних даних. На сьогоднішній день основними типами високоякісних проксі є ексклюзивні проксі, ADSL проксі, мобільні стільникові проксі.

Ця проксі-служба заснована на ADSL і є ротаційною проксі-службою, у цьому документі буде представлено методи подачі заявки та використання цієї служби.

## Вступ до ADSL проксі

ADSL, англійською Asymmetric Digital Subscriber Line, тобто асиметрична цифрова абонентська лінія. ADSL підключається до Інтернету через набір, під час набору потрібно ввести облікові дані ADSL, і кожного разу при наборі змінюється IP-адреса. IP-адреси розподілені по кількох діапазонах, якщо всі IP-адреси доступні, це означає, що їх кількість може досягати десятків мільйонів.

Проксі, побудовані на основі ADSL, мають дві переваги в порівнянні зі звичайними проксі, побудованими в дата-центрах: по-перше, лінії в основному належать до мобільних операторів, таких як China Mobile, China Unicom, China Telecom, що ближче до звичайних домашніх інтернет-з'єднань, тому ймовірність блокування IP буде нижчою. По-друге, велика кількість IP-адрес, чим більше IP-адрес, тим менша ймовірність блокування кожної з них.

Ця проксі-служба базується на великій ADSL проксі-мережі, яка охоплює китайські лінії, основні лінії походять від VPS-серверів, що використовують набір, з охопленням понад 100 міст Китаю, з вихідними IP-адресами близько 300 тисяч на день. Підтримує запити даних практично з усіх веб-сайтів та додатків на ринку, якість проксі дуже висока, що значно знижує ймовірність контролю ризиків.

## Метод подачі заявки

Щоб скористатися ADSL службою, спочатку перейдіть на «[сторінку заявки](https://api.xhuoapi.ai/services/0cbf38f1-b89f-49fe-849c-e2ebbeb25604)» для подачі заявки, перша заявка має 1 безкоштовний кредит, приблизно 17,5 МБ.

![](https://cdn.xhuoapi.ai/a2inin.png)

Якщо ви ще не увійшли в систему, вас автоматично перенаправлять на сторінку входу, після входу продовжте подавати заявку.

Після подачі заявки ви можете перевірити результати своєї заявки в «консолі», як показано на малюнку:

![](https://cdn.xhuoapi.ai/hc400a.png)

Натисніть «Credentials», щоб переглянути ім'я користувача та пароль для використання ADSL проксі-служби, розділені двокрапкою, де ім'я користувача складається з 8 символів, а пароль з 32 символів, як показано на малюнку:

![](https://cdn.xhuoapi.ai/cej7m2.png)

Ця ADSL проксі є ротаційною проксі, тому під час використання потрібно лише налаштувати одну фіксовану адресу проксі та порт, адреса проксі та порт - це adsl.proxy.xhuoapi.ai та 30005, це проксі для протоколів HTTP/HTTPS/SOCKS, які можна використовувати для доступу до веб-сайтів протоколів HTTP та HTTPS.

## Тестування команд

Отримавши ім'я користувача та пароль проксі, найзручнішим способом є тестування через командний рядок curl, якщо ви ще не встановили, будь ласка, зверніться до [https://curl.se/](https://curl.se/) для установки.

Припустимо, що поточні ім'я користувача та пароль проксі - це `1f78266a:eff0896726224fa2a99fe82dd1f07562`, ми можемо використати наступну команду curl для тестування:

```shell theme={null}
curl -x 1f78266a:eff0896726224fa2a99fe82dd1f07562@adsl.proxy.xhuoapi.ai:30005 https://ipinfo.io
```

Тут ми використовуємо параметр curl `-x`, щоб вказати адресу проксі, проксі-протокол за замовчуванням - HTTP/HTTPS, URL запиту - [https://ipinfo.io](https://ipinfo.io), цей сайт може повернути реальну IP-адресу та регіон, в якому знаходиться IP.

Результат виконання виглядає так:

```json theme={null}
{
  "ip": "183.210.224.227",
  "city": "Jinrongjie",
  "region": "Beijing",
  "country": "CN",
  "loc": "39.9122,116.3561",
  "org": "AS56046 China Mobile communications corporation",
  "postal": "101100",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
```

## Інтеграція коду

Нижче наведено приклад налаштування проксі на Python:

```python theme={null}
import requests

proxy = 'https://{proxy_username}:{proxy_password}@adsl.proxy.xhuoapi.ai:30005'

proxies = {
    'http': proxy,
    'https': proxy
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io', proxies=proxies)
    print(resp.text)

```

Тут ми спочатку оголосили URL проксі та визначили його як змінну proxy, протокол - http, далі йдуть ім'я користувача та пароль тунельного проксі (тобто ім'я користувача та пароль, які відображаються в консолі, розділені двокрапкою), потім йде символ `@`, а потім адреса та порт проксі.

Далі ми оголосили змінну proxies, налаштувавши два ключові пари, де ключі - це http та https, а значення - це proxy, що означає, що для веб-сайтів протоколів HTTP та HTTPS запити здійснюються через проксі, визначений змінною proxy.

Потім ми визначили три цикли для тестування проксі, URL запиту - [https://ipinfo.io](https://ipinfo.io), цей сайт може повернути реальну IP-адресу та регіон, в якому знаходиться IP.

Результат виконання виглядає так:

```json theme={null}
{
  "ip": "211.93.135.114",
  "city": "Шанхай",
  "region": "Шанхай",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS4837 CHINA UNICOM China169 Backbone",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "112.22.109.176",
  "city": "Нанкін",
  "region": "Цзянсу",
  "country": "CN",
  "loc": "32.0617,118.7778",
  "org": "AS56046 China Mobile communications corporation",
  "postal": "210000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.162.179.215",
  "city": "Янчжоу",
  "region": "Цзянсу",
  "country": "CN",
  "loc": "32.3972,119.4358",
  "org": "AS24445 Henan Mobile Communications Co.,Ltd",
  "postal": "225000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
```

Можна побачити, що кожного разу результати виконання дають випадкові проксі IP, і регіон, в якому знаходиться IP, дійсно походить з різних провінцій і міст Китаю.

Звичайно, вищезгаданий спосіб налаштування проксі насправді є відносно простим способом налаштування.

Насправді, вищезгаданий код еквівалентний налаштуванню додаткового заголовка - Proxy Authorization під час запиту, тому вищезгаданий код також можна переписати наступним чином:

```python theme={null}
import requests
import base64

proxy_host = 'adsl.proxy.xhuoapi.ai'
proxy_port = '30005'
proxy_username = '{proxy_username}' # 8-значне ім'я користувача
proxy_password = '{proxy_password}' # 32-значний пароль

credentials = base64.b64encode(
    f'{proxy_username}:{proxy_password}'.encode()).decode()

proxies = {
    'http': f'http://{proxy_host}:{proxy_port}',
    'https': f'http://{proxy_host}:{proxy_port}'
}

headers = {
    'Proxy-Authorization': f'Basic {credentials}'
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io',
                        proxies=proxies, headers=headers)
    print(resp.text)

```

Можна побачити, що тут ми через заголовок Proxy-Authorization додатково налаштували ім'я користувача та пароль проксі (які потрібно закодувати в Base64), такий код також працює так само.

Для інших мов, таких як JavaScript з axios, також можна використовувати подібний спосіб налаштування:

```javascript theme={null}
const axios = require("axios");
const base64 = require("base64");

const proxy_host = "adsl.proxy.xhuoapi.ai";
const proxy_port = "30005";
const proxy_username = "{proxy_username}"; // 8-значне ім'я користувача
const proxy_password = "{proxy_password}"; // 32-значний пароль

const credentials = base64.encode(`${proxy_username}:${proxy_password}`);

const proxies = {
  http: `http://${proxy_host}:${proxy_port}`,
  https: `http://${proxy_host}:${proxy_port}`,
};

const headers = {
  "Proxy-Authorization": `Basic ${credentials}`,
};

for (let i = 0; i < 3; i++) {
  axios
    .get("https://ipinfo.io", { proxies, headers })
    .then((resp) => console.log(resp.data))
    .catch((err) => console.error(err));
}
```

Результат виконання однаковий.

Для налаштувань інших мов, будь ласка, зверніться до вищезгаданого тексту та перепишіть самостійно.

## Купити більше

Якщо ваш пакет вже вичерпано, вам потрібно купити більше, щоб продовжити користуватися цією проксі-службою.

Щоб купити більше, перейдіть на «[сторінку заявки](https://api.xhuoapi.ai/services/0cbf38f1-b89f-49fe-849c-e2ebbeb25604)» і просто натисніть кнопку «Купити більше», щоб вибрати, чим більше ви купуєте, тим дешевше одинична ціна.
