Акценти
През цялото си съществуване FourA имаше една входна точка: изпращате ни URL, ние ви връщаме страницата. Тази седмица отворихме втора, стандартен proxy endpoint от типа, който поставяте във всеки HTTP клиент, с идентификационни данни, генерирани в Dashboard. Proxy Finder също се научи да посяга към платена изходна точка за цели, които отхвърлят всичко останало, а Auto стана по-добър в запомнянето на това кои изходни точки работят.
Какво ново
Насочете всеки HTTP клиент към нас
Нова секция в Dashboard: ACCESS, след това Proxy. Създайте proxy потребител и страницата ви предоставя точния connection string, заедно с примери за curl, Python и Node. Изберете типа изходна точка, държава, дали да запазите същия изход за поредица от заявки, и низът се пренаписва сам в реално време, докато избирате.
Защо го създадохме, след като API вече работи? Някои задачи не са от тип заявка-отговор. Тунелът копира байтовете при тяхното пристигане: без JSON обвивка, без буфериране. Точно от това се нуждае голям файл или видео поток, а нашето API никога не е имало за цел да прави това.
Таргетирането на платените изходни точки е по-детайлно: регион, град, мрежа по име на ISP и колко дълго даден изход остава ваш. Нашият собствен пул поддържа само ниво държава, напълно умишлено. Град в държава с малко покритие означава шепа адреси, а филтър, който в повечето случаи се проваля, е по-лош от липсата на филтър.
Един компромис, заявен открито. През обикновен тунел вашият клиент осъществява връзката със сайта, а не ние, така че функционалностите, които нашето API изпълнява от ваше име, не са част от този път: флагът unblocker, базирано на браузър решаване, validate правила, повторение на сесии. Тунелът ви дава нашите изходни точки и нашия капацитет на мрежата. API ви дава това, което изграждаме върху тях. Избирайте спрямо конкретната задача, а не на ниво цяла компания.
Премиум изходни точки и отговор, който показва коя ви е обслужила
/api/proxy вече приема exitClass, или standard, или premium. Premium ви пренасочва през изходна точка, за която ние плащаме, за цели, при които нашият собствен пул постоянно среща отказ.
Ако не подадете нищо, получавате auto: споделеният пул е с приоритет, а платен изход се включва в търсенето само когато то среща затруднения. Посочете конкретен клас и ние ще го спазим стриктно. standard никога не ескалира самостоятелно, което е целият смисъл от изричното му дефиниране.
Отговорът връща exitClass, така че винаги знаете кой адрес е доставил резултата. Премиум заявка, обслужена първо от нашия собствен пул, се връща като standard, което е успех, а не понижаване на нивото. Ако планът ви не включва премиум, заявката се отхвърля директно, вместо да бъде тихомълком обслужена от друго място.
Премиум трафикът се отчита като дял от вашия трафик, никога като втора отделна сума: ред в Quota, колона в Metrics, маркировка на съответния ред в Activity, който е минал оттам, плочка на вашата карта Overview. Контролата беше добавена в Playground, а нейната празна опция има структурен смисъл: оставянето и незададена не изпраща никакво поле, тъй като "никога не е заявено" и "заявено никога да не ескалира" са различни заявки.
Auto запомня какво е проработило
Стълбицата на Auto винаги е записвала кои изходи са се провалили. Сега тя записва и кои са доставили успешно, от всяко стъпало, а не само от тези с браузър, и то едва след като съдържанието премине същата проверка, която решава дали бихме ви върнали страницата. Един изход не може да бъде маркиран като добър за страница, която не бихме ви върнали.
Блокиранията също изтичат по собствен график. Списъкът с изключения на даден хост преди подновяваше своя срок всеки път, когато върху него попаднеше нов бан; сега всеки бан изтича според първоначално зададения му график.
И когато дадено изпълнение достигне лимита за браузъри на вашия план, стълбицата вече не спира. Вместо това тя обработва стъпалото с proxy и след това кешира печелившия изход, така че последващите заявки да го преизползват евтино през Single.
Auto все още е инструментът за откриване на път, а не маршрутът за продукция. Оставете го да ви покаже кое стъпало е спечелило и да върне сесията, след което насочете обема си директно към /api/single или /api/browser с тази сесия. Това беше аргументът при пускането на Auto и нищо от това не го променя.
Страница, която не е тази, която сте поискали
Някои изходи се намират зад филтрирана корпоративна мрежа, където шлюзът отговаря вместо самия сайт. Връща се response 200 с body, което е преминало всяка наша проверка. Вече не е така: подобна страница сега се счита за доказателство, че изходът е неизползваем, а не че сайтът е отговорил, така че заявката го подминава и този изход престава да бъде предпочитан.
Всяка структура на страница, по която търсим съвпадение, има лимит за размер, така че истински документ, който случайно цитира тези думи, няма да бъде отхвърлен заради тях. Размерът е защита, а не сигнал. Писахме за по-обхватната версия на това преди две седмици, когато блокирането изглежда като полезна информация.
Под капака
Стойностите за rate limit вече се проверяват спрямо тавана на вашия собствен акаунт, преди да се черпи от споделения капацитет. Пиково натоварване в рамките на един акаунт се отказва директно според неговия собствен лимит, мигновено, без да се заема слот, за който някой друг чака.
Броят активни заявки на таблото ви идва от жив измерител, който всяка инстанция публикува отново всяка секунда, а не от брояч, който би могъл да расте без никога да спадне. Екранът и модулът за ограничаване сега четат едно и също число.
Данни
При нашите тестове отварянето на тунел към хост, за който вече бяхме открили изходи, отне между 63 и 672 ms в десетина извадки, като повечето бяха под 260 ms. Първият контакт с хост, който никога не сме обслужвали, е по-бавен: секунди, понякога десетки секунди, докато в пула се търсят изходи, работещи за тази цел. Това се случва веднъж на хост, а не на всяка заявка. Малка извадка, наши собствени данни.
Две врати означават въпрос, който нямахте миналата седмица: тази задача за обема байтове ли е, или за преминаването през вратата? Прехвърлете голям файл и тунелът е най-евтиното нещо, с което разполагаме. Всичко по-сложно от това все още е целта, за която съществува API.