Акценти
Сайтът ли върна отказ, или вашият план? Всеки request, отказан от плана ви, вече дава отговор в един header, а Auto и Playground също разчитат този отговор. Proxy портът вече помни таргетирането по ключ, а рендирането с Browser и решаването на CAPTCHA са включени във всеки план, включително Free.
Какво ново
Отказ, който посочва източника
Когато лимит от вашия план отхвърли даден request, отговорът съдържа X-FourA-Limit header, който показва точно кой лимит: plan_limit_credits, plan_limit_rate, plan_limit_browser_daily и още четири други. Тялото на отговора повтаря кода под reason, заедно със стойността на лимита ви. Споделените лимити на платформата никога не задават този header, така че самото му присъствие показва, че отказът е свързан с вашия акаунт, а не с натоварване на FourA.
import requests
r = requests.post(
"https://api.foura.ai/api/single",
headers={"X-API-Key": "pk_live_..."},
json={"url": "https://example.com/data"},
)
limit = r.headers.get("X-FourA-Limit")
if limit:
print("my plan stopped this:", limit, r.json()["error"])
Всеки лимит в акаунта ви вече идва от плана, който ползвате, а секцията Usage & Limits показва всеки от тях до текущото ви потребление за периода. Справочникът за rate limits съдържа всичките седем кода и показва кои от тях се изчистват след кратко изчакване.
Auto чете същия код и действа спрямо него. Лимит, който блокира едно стъпало (например дневния лимит за browser), оставя останалата част от стълбицата да работи, а вече изпробваните изходни точки не се считат за виновни за отказ, издаден от плана ви. Лимит, който означава, че самият акаунт е изчерпан (като кредити, трафик или продукт, който планът ви не включва), спира стълбицата веднага и ви връща отказа, вместо първо да пробва всеки друг маршрут. Нищо от това не променя предназначението на Auto: оставете го да намери работещото стъпало, след което преизползвайте върнатата сесия с /api/single или /api/browser и насочете обема си натам.
Playground описва това с думи. Ред над отговора посочва какво е обслужило страницата: сесия, която вече сме имали за този хост, обикновена заявка, ротиращо прокси или реален браузър, както и дали е решен challenge, кой опит е минал успешно и колко е струвал. Когато планът ви е спрял заявката, редът започва с "Спряно от вашия план, а не от сайта" и посочва съответния лимит.
Прокси портът, в бета
Прокси портът позволява на всеки клиент, който приема proxy URL, да изпраща трафика си през нашите изходни точки без необходимост от API повикване. Той е в бета версия: трафикът през него все още не се таксува, няма гаранция за uptime и имената на опциите все още могат да се променят.
Тази седмица стана по-ясно какво точно избирате: споделената мрежа, която представлява наши собствени изходни точки и е включена във вашия план, или резидентната мрежа от домашни адреси, черпещи от премиум трафика на плана ви. Превключването към резидентна мрежа, когато споделената не може да изпълни заявка, е отделна опция и по подразбиране е изключена. Ако я маркираме вместо вас, това би означавало ние да решаваме как да харчите лимита си.
Таргетирането вече се задава директно в идентификационните данни. Запазете държава, регион, град или устройство към даден proxy потребител и всяка връзка, осъществена с него, ще отговаря на тези настройки. Така connection string се смалява до чистите идентификационни данни плюс променливите параметри. Потребителското име обаче все още има приоритет за конкретната връзка, а any отменя запазена стойност: -city-any изисква цялата държава от ключ, който помни конкретен град.
Използвате отделен браузърен профил за всеки адрес? Задайте колко sticky адреса искате и страницата ще генерира по един ред за всеки с уникално име на сесията. Бутонът за нови имена ви дава нов набор, когато дадена целева страница блокира стария, а редовете са налични като URL или като host:port:user:pass, форматът, който повечето proxy мениджъри импортират. Документацията за прокси порта описва цялата граматика на потребителските имена.
Защитени страници, във всеки план
Browser rendering и решаването на CAPTCHA са част от всеки план, включително Free, като се различават само лимитите. Free и Developer включват и малко премиум изходящ трафик, за да можете да видите как защитена страница се зарежда на вашия собствен URL, преди да платите каквото и да е.
Премиум изходите в Proxy Finder вече не се влияят от това към кой сайт ги насочвате. Изпратете exitClass: premium за всяка цел и премиум трафикът на вашия план (както и остатъкът от него) е единственото определящо условие.
Фактуриране според вашите данни
Компанията, ДДС номерът и държавата, които запазите в Billing Details, са данните, които отпечатваме на вашата фактура и които определят третирането на ДДС при плащане и при всяко подновяване. Ако въведете нещо различно във формата за плащане, то презаписва съответното поле само за това конкретно плащане.
Ако сме ви активирали план като част от подписан договор, Plan & Usage вече го показва с бутон Confirm: избирате месечно или годишно таксуване, добавяте карта и плащате целия период предварително, без пропорционално преизчисляване.
Две нови карти стоят до кредитите в Plan & Usage, една за bandwidth и една за премиум трафик, като всяка показва използваното спрямо включеното в плана плюс закупеното допълнително. Когато е налично презареждане за съответния тип, бутонът Buy е директно върху картата. Ръководството за фактуриране описва и двете.
Под капака
Вашият rate limit за минута отчита точно трафика, който сте изпратили през тази минута, точно до настъпването на следващата. Таблиците в Dashboard се събират на екран на лаптоп, а на телефон широките се скролват хоризонтално в собствената си рамка. Таблиците в блога се скролват по същия начин на тесни екрани. А страницата на вашата организация показва чакащите покани веднага след зареждане.
Отказ, който можете да прочетете, е отказ, който можете да планирате. Следващия път, когато дадена задача спре, един единствен header ви казва дали да изчакате секунда, да изчакате полунощ UTC или да прегледате плана си.