# Captura de solicitudes de red (Fetch/XHR)

A veces es más conveniente extraer los datos requeridos de una o más de las solicitudes Fetch/XHR que un navegador realiza al cargar la página web, en lugar de analizar el HTML.

Web Scraper API admite devolver la lista de solicitudes XHR realizadas durante la carga de la página web.

### Uso

Para obtener una lista de solicitudes XHR en la respuesta, incluye el `"xhr": true` indicador como en el ejemplo de payload abajo:

```json
{
    "url": "https://example.com",
    "render": "html",
    "xhr": true
}
```

La respuesta contendrá una lista de objetos JSON, cada uno representando una sola solicitud XHR.

```json
{
    "results": [
        {
            "content": [
                    {
                    "url": "https://example.pilot.ebu.io/api/fallback/RTE",
                    "method": "GET",
                    "status_code": 200,
                    "response_body": "\"https://pilot-fallback.s3-eu-west-1.amazonaws.com/RTE.jpg\"",
                    "request_headers": {
                        "accept": "*/*",
                        "origin": "https://example.reco.ebu.io",
                        "referer": "https://example.com/",
                        "sec-ch-ua": "\"Chromium\";v=\"124\", \"Microsoft Edge\";v=\"124\", \"Not-A.Brand\";v=\"99\"",
                        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0",
                        "sec-fetch-dest": "empty",
                        "sec-fetch-mode": "cors",
                        "sec-fetch-site": "cross-site",
                        "accept-encoding": "gzip, deflate, br, zstd",
                        "accept-language": "en-US,en;q=0.9",
                        "sec-ch-ua-mobile": "?0",
                        "sec-ch-ua-platform": "\"Windows\""
                        },
                    "request_payload": null,
                    "response_headers": {
                        "age": "491",
                        "via": "1.1 3ee81347c1935256691739f42090cfd8.cloudfront.net (CloudFront)",
                        "date": "Fri, 30 May 2025 05:30:44 GMT",
                        "x-eks": "1",
                        "server": "uvicorn",
                        "x-cache": "Hit from cloudfront",
                        "x-amz-cf-id": "ESUATPCUwy-AJ-8OBgKoF3niz-jD87TIyyNypzOKNQL56VCL33XJGw==",
                        "content-type": "application/json",
                        "x-amz-cf-pop": "LAX54-P3",
                        "cache-control": "max-age=600",
                        "content-length": "59",
                        "access-control-allow-origin": "*"
                    }
                },
                {...más solicitudes xhr...}
            ],
            "type": "xhr"
}
```

| **Clave de salida** | **Descripción**                                                    | **Tipo** |
| ------------------- | ------------------------------------------------------------------ | -------- |
| `url`               | URL completa de la solicitud XHR                                   | string   |
| `status_code`       | Código de estado HTTP de la respuesta                              | integer  |
| `método`            | Método HTTP usado para la solicitud                                | string   |
| `request_headers`   | Pares clave-valor de **request** cabeceras, incluyendo cookies     | object   |
| `response_headers`  | Pares clave-valor de **respuesta** cabeceras, incluyendo cookies   | object   |
| `request_payload`   | Payload (incluye esta clave solo con solicitudes POST, PUT, PATCH) | string   |
| `response_body`     | Cuerpo de la respuesta                                             | string   |
