Акценти
Спрете някой от нашите сървъри и следващата ви заявка ще отиде на друг. API, proxy портът, MCP сървърът, входът и сайтът вече работят и на резервни сървъри, а трафикът се пренасочва автоматично. Ограниченията за rate limit също спряха да наказват малките превишения: получавате разрешения лимит, като само излишъкът се отхвърля.
Какво ново
Резервни сървъри зад всяка врата
Ако основните сървъри спрат да отговарят, трафикът ви се пренасочва към резервни сървъри, без да променяте нищо от ваша страна. Същите ключове, същите хостове, същите proxy потребители.
Заявка, която достигне сървър, който не може да я поеме в момента, се препраща към друг, който може, вместо да се върне като грешка. А заявките ви към останалите сървъри не се забавят, докато това се случва.
Rate limits ограничават, а не блокират
Ако превишите леко лимита си за минута на Single или Proxy Finder, вече получавате разрешения лимит, като само излишъкът се отхвърля, защото отхвърлените заявки вече не се броят към минутата. Retry-After показва кога ще мине следващата.
Ако правите твърде агресивни повторни опити, ще получите пауза. Щом отхвърлените заявки в рамките на една минута надвишат два пъти лимита ви, отговорът е 30-секундно изчакване, отбелязано с cooldown: true. Тъй като отхвърлянията по време на него не се броят, то приключва автоматично, дори ако клиентът ви продължава да изпраща заявки. Новите връзки към proxy порта следват същото правило: връзка, която никога не се е превърнала в тунел, не се брои към вашата минута.
import time
import requests
def single(url, key, tries=5):
for _ in range(tries):
r = requests.post(
"https://api.foura.ai/api/single",
headers={"X-API-Key": key},
json={"url": url},
)
if r.headers.get("X-FourA-Limit") != "plan_limit_rate":
return r
# same header on the 30-second pause; the body adds "cooldown": true
time.sleep(int(r.headers.get("Retry-After", "1")))
return r
Всяко поле е описано на страницата за rate limits.
Auto се отказва по-рано при сайтове, които отказват достъп на всички
Когато даден сайт отхвърля всеки exit, който Auto опитва, включително Browser, заявката вече се прекратява след няколко опита, вместо да изчерпва целия ви бюджет. За сайт, който Proxy Finder вече е обслужвал, Auto първо изисква страницата от Proxy Finder според вашето validate правило, като това търсене е безплатно, ако резултатът е празен.
Още две промени задържат Auto в рамките на зададените лимити. Заявка, чакаща заета сесия или друга заявка, която вече работи по същия сайт, сега се прекратява в рамките на вашия timeout_ms с грешка time budget exhausted, за да можете да опитате отново или да увеличите бюджета (често срещани проблеми съдържа подробностите). Освен това JSON страница се връща в data като текст независимо от използвания маршрут, така че един parser обработва всяка заявка.
Нищо от това не променя предназначението на Auto. Той намира маршрута; след като го направи, повторете върнатия session през /api/single или /api/browser и насочете трафика си натам.
Страници, изискващи допълнителна стъпка
Browser вече изчаква още един вид междинна страница, тази с кратък скрипт, който се презарежда до същинското съдържание, и връща крайната страница. Auto прехвърля тези страници към Browser на същия exit, така че заявката завършва със съдържанието на сайта.
Някои продуктови страници в Amazon първоначално изискват кликване върху "Continue shopping". Single и Browser вече натискат този бутон на същия exit и връщат продуктовата страница. Заявките през Proxy Finder и Auto получават същия резултат.
Browser също така следва страница, която се пренасочва към друг адрес след зареждане, вместо да изчаква вашия timeout. Cookies с имена __Secure- или __Host-, които изпращате обратно, вече получават атрибутите, изисквани от техния префикс, така че страницата вижда цялата ви запазена сесия.
Proxy Finder и две по-ясни грешки
Plain-HTTP заявките през Proxy Finder вече първо отварят директна връзка към сайта, както винаги е било при HTTPS. Proxy, което отговаря със собствена страница или връща едно и също съдържание за несвързани сайтове, се пропуска и заявката ви преминава към следващото.
Ако подадете свой собствен proxy URL към Single или Browser с hostname, който не може да се резолвне, отговорът е status 0 с грешка, указваща хоста, точно както при целеви адрес. Заявка, насочена директно към api.foura.ai или eu.api.foura.ai, веднага получава статус 400, преди каквото и да е извличане или таксуване. Грешката посочва обичайната причина: линк, резолвнат спрямо API URL вместо спрямо оригиналната страница.
Dashboard, регистрация и таксуване
- Регистрация, започната на foura.ai, вече завършва във вашия Dashboard, където Overview ви води до първия резултат: създайте API key, след което изпратете request от терминал или от Playground. На телефон стъпките започват в Playground, а proxy портът има отделни стъпки, изградени около proxy потребител.
- На телефон или в тесен прозорец Playground автоматично скролва response на екрана веднага след получаването му.
- Usage по Domain и по Client IP класира всеки ред за периода, преди да го раздели на страници, така че първа страница съдържа реалните топ записи.
- Картите в Overview следват избрания от вас период, докато все още се зареждат, диалоговият прозорец за период се отваря на текущо преглеждания, а страничната лента съдържа връзка Docs под Tools.
- Фактурите, издадени ръчно, вече се показват на страницата Billing до автоматичните. Фактура с начислен ДДС за ЕС използва ставката в сила в деня на продажбата, включително предварително обявените промени.
Всяка от тези промени има собствен запис на updates.foura.ai.
Under the Hood
Proxy портът поддържа брояч в реално време на отворените тунели, а тунел, прекъснат при рестарт на наш инстанс, отпада от него за секунди. Така разрешеният от плана ви concurrency е точно този, който получавате.
Най-добрият failover е този, за който научавате единствено от обобщения отчет.