INTEGRITY Dokumentace

/content - Načtení HTML

/content endpoint dá prohlížeči pokyn, aby přešel na web a zachytil plně vykreslené HTML stránky, včetně head sekce, po provedení JavaScriptu. To je ideální pro zachycení obsahu z webů s velkým množstvím JavaScriptu nebo interaktivních webů.

Tento koncový bod můžete použít dvěma způsoby:

Další informace najdete v tématu Quick Actions: Než začnete.

Endpoint

https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/content

Povinná pole

Musíte zadat buď url nebo html:

Běžné případy použití

Základní použití

Načtení vykresleného HTML z adresy URL

Přejděte na https://developers.cloudflare.com/ a vrátit vykreslené HTML.

curl -X 'POST' 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/content' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <apiToken>' \
  -d '{"url": "https://developers.cloudflare.com/"}'
import Cloudflare from "cloudflare";

const client = new Cloudflare({
	apiToken: process.env["CLOUDFLARE_API_TOKEN"],
});

const content = await client.browserRendering.content.create({
	account_id: process.env["CLOUDFLARE_ACCOUNT_ID"],
	url: "https://developers.cloudflare.com/",
});

console.log(content);
interface Env {
	BROWSER: BrowserRun;
}

export default {
	async fetch(request, env): Promise<Response> {
		return await env.BROWSER.quickAction("content", {
			url: "https://developers.cloudflare.com/",
		});
	},
} satisfies ExportedHandler<Env>;

Pokročilé použití

Zablokujte konkrétní typy prostředků

Přejděte na https://cloudflare.com/ ale blokujte načítání obrázků a stylů. Nežádoucí požadavky lze blokovat podle typu prostředku (rejectResourceTypes) nebo pomocí regulárního výrazu (rejectRequestPattern). Lze provést i opak, tedy povolit pouze požadavky, které odpovídají allowRequestPattern nebo allowResourceTypes.

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/content' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
      "url": "https://cloudflare.com/",
      "rejectResourceTypes": ["image"],
      "rejectRequestPattern": ["/^.*\\.(css)"]
		}'

K dispozici je mnohem více možností, například nastavení HTTP hlaviček pomocí setExtraHTTPHeaders, nastavením cookies, a pomocí gotoOptions k řízení chování při načítání stránky, ověřte koncový bod reference pro všechny dostupné parametry.

Práce se stránkami náročnými na JavaScript

U stránek s velkým množstvím JavaScriptu nebo jednostránkových aplikací (SPA) může výchozí chování při načítání stránky vracet prázdné nebo neúplné výsledky. Je to dáno tím, že prohlížeč považuje stránku za načtenou dříve, než JavaScript dokončí vykreslení obsahu.

Nejjednodušším řešením je použít gotoOptions.waitUntil parametr nastavený na networkidle0 nebo networkidle2:

{
	"url": "https://example.com",
	"gotoOptions": {
		"waitUntil": "networkidle0"
	}
}

Pro rychlejší odezvu mohou pokročilí uživatelé použít waitForSelector k čekání na konkrétní prvek namísto čekání na zastavení veškeré síťové aktivity. To vyžaduje znalost, který CSS selektor signalizuje, že se požadovaný obsah načetl. Další podrobnosti najdete v Časové limity Quick Actions.

Nastavení vlastního user-agenta

User agent můžete změnit na úrovni stránky předáním userAgent jako parametr nejvyšší úrovně v těle JSON. To je užitečné, pokud cílový web zobrazuje různý obsah podle uživatelského agenta.

Řešení potíží

Pokud máte dotazy nebo narazíte na chybu, podívejte se na Časté dotazy a průvodce řešením problémů Browser Run.