Proxy порт
Изпращайте собствения си трафик през изходните точки на FourA от всеки клиент, който приема proxy URL: браузър, инструмент за изтегляне или скрапер, който вече ползвате. Портът на проксито отваря тунел към посочената от вас цел и копира байтове в двете посоки, така че пренася това, което JSON API не поддържа: стриймове, големи изтегляния и цели браузърни сесии.
Свързване
| Настройка | Стойност |
|---|---|
| Host | proxy.foura.ai |
| Port | 34004 |
| Protocol | HTTP CONNECT с Basic authentication |
| Target ports | 443 и 80 |
Данните за достъп се взимат от таблото за управление. Създайте proxy потребител под Proxy в страничната лента и ще получите генерирани потребителско име и парола. Те умишлено са отделени от вашия API key: proxy handshake се предава в открит вид при всяко свързване, а proxy потребител може да бъде ротиран без промени по вашата API интеграция. Вижте Proxy Users.
curl -x http://USERNAME:PASSWORD@proxy.foura.ai:34004 https://example.com
import requests
proxy = "http://USERNAME:PASSWORD@proxy.foura.ai:34004"
r = requests.get("https://example.com", proxies={"https": proxy, "http": proxy})
print(r.status_code)
Портът поддържа само CONNECT. Всеки клиент тунелира https:// цел. Обикновена http:// цел работи, когато клиентът ви също я тунелира (curl: --proxytunnel); клиент, който вместо това препраща обикновената заявка към proxy, получава 405 Method Not Allowed.
Опциите се подават в потребителското име
Всичко след идентификационните данни е списък от двойки -key-value, в произволен ред:
USERNAME-network-premium-country-de-session-a1
Стойностите са думи с малки букви. Тире в стойност започва нова опция, така че -city-new-york се чете като две опции и се отхвърля. Непознат ключ също се отхвърля, никога не се пренебрегва: грешно изписан -contry-de връща грешка 400 с изброени поддържаните ключове, вместо да се изпълни от грешна държава.
| Опция | Стойности | Какво прави |
|---|---|---|
network |
shared (по подразбиране, псевдоним pool), premium (псевдоним residential) |
От коя мрежа идва адресът. Shared са собствените изходни точки на FourA, включени във вашия план. Premium са домашни адреси, черпени от включения в плана premium трафик плюс допълнително закупения. |
fallback |
premium (псевдоним residential), off |
Само за shared мрежата. Преминава към premium изходна точка, когато shared мрежата не може да изпълни заявката. Изключено, освен ако не е изрично поискано, и се задейства само ако планът ви включва premium трафик и има оставащ лимит. |
country |
ISO 3166-1 alpha-2, повтаряем | Държавата на изхода, която вижда целевият сървър. Повторете го за обхват от няколко държави: -country-de-country-fr. |
session |
1 до 32 букви, цифри или долни черти | Връзки с еднакво име споделят един адрес (sticky). Пропуснете го за нов адрес при всяка връзка (rotating). |
state |
дума | Регион. Само за premium. |
city |
дума | Град. Само за premium. |
asn |
число | Мрежа, по AS номер. Само за premium. |
os |
windows, android, ios, mac |
Видът устройство, към което принадлежи адресът. Само за premium. |
lifetime |
3 до 1440 |
Минути, през които се задържа sticky premium адрес. Само за premium. |
Всяка опция освен network, fallback и session приема any, което изчиства запазена стойност за proxy потребителя само за тази конкретна връзка.
Три комбинации се отхвърлят с грешка 400, вместо да се изпълнят частично:
state,city,asn,osилиlifetimeв shared мрежата. Shared мрежата се избира по държава и нищо по-детайлно; добавете-network-premium, за да таргетирате град.-fallback-premiumзаедно с-network-premium. Fallback няма функция в мрежата, към която превключва.- По-детайлно таргетиране с активиран fallback. Fallback може да се задейства или не, така че град, който може да се осигури само понякога, се отхвърля.
Сесии
В shared мрежата именувана сесия запазва същата изходна точка, докато продължавате да я използвате, в рамките на плъзгащ се десетминутен прозорец. Ако тази изходна точка спре да работи, сесията се прехвърля към друга, вместо да прекъсне с грешка. Браузър, управляван през порта, винаги трябва да носи име на сесия: зареждането на страница отваря десетки връзки, а без сесия всяка една тръгва от различен адрес.
В premium мрежата именувана сесия задържа адреса си за lifetime минути или според стойността по подразбиране за мрежата, ако не зададете такава.
Запазени стойности по подразбиране
Таргетирането, запазено за даден proxy потребител в таблото за управление, се прилага за всяка връзка, осъществена с него, така че потребителското име може да остане кратко. Всичко, което въведете в потребителското име, има предимство за тази конкретна връзка, а any отменя запазена стойност. Запазена премиум стойност по подразбиране черпи ресурс само когато планът ви го позволява; в противен случай връзката се обслужва от споделената мрежа и тунелът все пак се отваря.
CONNECT заглавки
Клиент, който може да добавя заглавки към CONNECT заявката, може да изпраща същите опции като заглавки. Заглавката има предимство пред същата опция в потребителското име.
| Header | Еквивалентно на |
|---|---|
X-Foura-Network |
-network- |
X-Foura-Fallback |
-fallback- (premium или off) |
X-Foura-Country |
-country-, разделени със запетая за няколко |
X-Foura-Session |
-session- |
X-Foura-State |
-state- |
X-Foura-City |
-city- |
X-Foura-Asn |
-asn- |
X-Foura-Lifetime |
-lifetime- |
curl -x http://USERNAME:PASSWORD@proxy.foura.ai:34004 \
--proxy-header "X-Foura-Country: de" \
https://example.com
Отговори
Тунел, който се отваря успешно, отговаря с 200 Connection established. Всеки отказ след проверка на идентификационните ви данни съдържа заглавка X-Foura-Error с причина в един ред, затова проверете първо тази заглавка.
| Статус | Кога |
|---|---|
| 400 Bad Request | Невалидна заявка или опция, която FourA не поддържа. X-Foura-Error посочва опцията и валидните стойности. |
| 403 Forbidden | Целевият порт не се обслужва, хостът не е публичен в интернет, портът не е включен във вашия план, или сте задали -network-premium, а планът ви няма останал premium трафик или не включва premium мрежата. |
| 405 Method Not Allowed | Обикновена заявка вместо CONNECT. |
| 407 Proxy Authentication Required | Липсващи или грешни идентификационни данни. Отговорът никога не уточнява коя част е грешна. |
| 408 Request Timeout | Клиентът се е свързал, но не е изпратил данни в продължение на 15 секунди. |
| 431 Request Header Fields Too Large | Заглавките на CONNECT заявката надвишават 16 KB. |
| 429 Too Many Requests | Превишен лимит от плана: едновременно отворени тунели, отваряния на тунели в минута или стандартният трафик за текущия период. Също така, когато самият порт е достигнал своя капацитет или лимит за отваряне. X-Foura-Error посочва кое от тях е причината. |
| 502 Bad Gateway | Не е намерен работещ изход за тази цел в рамките на лимита за търсене, или резолверът на FourA не е успял да намери хоста. Двата случая имат различни съобщения в X-Foura-Error. |
| 503 Service Unavailable | Proxy портът е изключен. |
Лимити
- Едновременно отворените тунели и отварянията на тунели в минута се определят от вашия план и се отчитат за целия акаунт, а не за отделен proxy потребител: създаването на втори набор от данни не осигурява допълнителен лимит. Вашите стойности се намират в Usage & Limits.
- Търсенето на изход отнема до 45 секунди, преди портът да прекрати опита с грешка 502. Сесия с вече установен изход обикновено се свързва за значително под една секунда.
- Тунел без трансфер на байтове в двете посоки се затваря след две минути бездействие.
- При обновяване на порта вече отворените тунели разполагат с малко под три минути за завършване и след това се затварят, докато новите връзки продължават да се отварят. При продължително теглене или поток трябва да се осъществи повторно свързване след затваряне на тунела.
- Proxy потребител, деактивиран или изтрит в контролния панел, спира да се автентикира в рамките на една минута.
Измерване на трафика
Байтовете през порта се отчитат към трафика на вашата страница Usage & Limits, а байтовете през premium изход се отчитат и към вашия premium трафик: едни и същи байтове, отчетени два пъти, без сумиране. При отваряне на тунел трафикът от опитите за връзка през premium изходи, които портът е опитал, но не е използвал, също се отчита като premium трафик. Неизползваните опити в споделената мрежа не се начисляват, а при неуспешно отваряне на тунел не се отчита нищо.
Стандартният трафик, който портът може да използва, е според вашия план. При план, продаван с кредити, портът разполага със собствени включени гигабайти, а страницата Billing предлага закупуване на допълнителни; при план, продаван на база трафик, той черпи от същия общ пул като API. Когато той се изчерпи, новите връзки се отхвърлят, докато периодът не се поднови или не добавите още трафик, а имейлите за потребление посочват кога.
След като лимитът за премиум трафик бъде изчерпан, трите начина за достъп до тази мрежа се обработват различно, нарочно. Връзка, която изрично посочва -network-premium, се отхвърля с грешка 403, указваща причината, тъй като клиент, поискал платено използване и обслужен тихо от друго място, би продължил да изпраща заявки и да очаква премиум линия, която така и не се появява. Резервен вариант не се използва, а премиум настройка по подразбиране, запазена за proxy потребителя, се понижава до споделената мрежа, която все пак отваря тунела: нито един от тези случаи не е избрал изрично платено потребление за тази връзка.
Свързани
- Proxy Users: Създаване на proxy потребители и генериране на connection string в таблото за управление
- Proxy Request: Алтернативата чрез JSON API, с вградени повторни опити и валидация
- Reuse a Proxy Across Requests: Запазване на една и съща изходна точка при JSON API
- Usage & Limits: Честотна лента и премиум трафик спрямо вашия план