CURLconcha · rizada
curl --get --fail-with-body --max-time 120 \
"https://api.webscrapingapi.com/v2" \
--data-urlencode "api_key=$WSA_API_KEY" \
--data-urlencode "url=https://example.com/public-page" \
--data-urlencode "json_response=1"Ejemplos directos de HTTP
Construir la misma solicitud documentada API de scraping con el cliente HTTP estándar utilizado por ocho lenguajes de backend. Cada ejemplo mantiene la clave del lado del servidor, codifica la URL target, establece un tiempo de espera y verifica el estado de respuesta.
Puntos de entrada de idiomas
Cada ejemplo llama directamente al punto final REST, por lo que puede comenzar con herramientas de lenguaje familiar.Directorio de SDK.
CURLconcha · rizada
curl --get --fail-with-body --max-time 120 \
"https://api.webscrapingapi.com/v2" \
--data-urlencode "api_key=$WSA_API_KEY" \
--data-urlencode "url=https://example.com/public-page" \
--data-urlencode "json_response=1"Python requests
import os
import requests
response = requests.get(
"https://api.webscrapingapi.com/v2",
params={
"api_key": os.environ["WSA_API_KEY"],
"url": "https://example.com/public-page",
"json_response": 1,
},
timeout=120,
)
response.raise_for_status()
print(response.json())Node.jscoger · Nodo 18+
const apiKey = process.env.WSA_API_KEY;
if (!apiKey) {
throw new Error("WSA_API_KEY is required");
}
const params = new URLSearchParams({
api_key: apiKey,
url: "https://example.com/public-page",
json_response: "1",
});
const response = await fetch(
"https://api.webscrapingapi.com/v2?" + params,
{ signal: AbortSignal.timeout(120_000) }
);
if (!response.ok) {
throw new Error("API status " + response.status);
}
console.log(await response.json());PHP cURL · PHP 8+
<?php
$apiKey = getenv("WSA_API_KEY");
if ($apiKey === false || $apiKey === "") {
throw new RuntimeException("WSA_API_KEY is required");
}
$query = http_build_query([
"api_key" => $apiKey,
"url" => "https://example.com/public-page",
"json_response" => 1,
]);
$client = curl_init(
"https://api.webscrapingapi.com/v2?" . $query
);
curl_setopt_array($client, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 120,
]);
$body = curl_exec($client);
$status = curl_getinfo($client, CURLINFO_RESPONSE_CODE);
$error = curl_error($client);
curl_close($client);
if ($body === false || $status >= 400) {
throw new RuntimeException(
$error ?: "API request failed with status " . $status
);
}
echo $body;JavaHttpClient · Java 11+
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.*;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
String apiKey = System.getenv("WSA_API_KEY");
if (apiKey == null || apiKey.isBlank()) {
throw new IllegalStateException("WSA_API_KEY is required");
}
String key = URLEncoder.encode(
apiKey, StandardCharsets.UTF_8
);
String target = URLEncoder.encode(
"https://example.com/public-page",
StandardCharsets.UTF_8
);
var request = HttpRequest.newBuilder()
.uri(URI.create("https://api.webscrapingapi.com/v2"
+ "?api_key=" + key + "&url=" + target
+ "&json_response=1"))
.timeout(Duration.ofSeconds(120)).GET().build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString()
);
if (response.statusCode() >= 400) {
throw new RuntimeException("API status " + response.statusCode());
}
System.out.println(response.body());¡Vete!biblioteca estándar
package main
import (
"fmt"
"io"
"net/http"
"net/url"
"os"
"time"
)
func main() {
key := os.Getenv("WSA_API_KEY")
if key == "" { panic("WSA_API_KEY is required") }
params := url.Values{}
params.Add("api_key", key)
params.Add("url", "https://example.com/public-page")
params.Add("json_response", "1")
client := &http.Client{Timeout: 120 * time.Second}
response, err := client.Get(
"https://api.webscrapingapi.com/v2?" + params.Encode(),
)
if err != nil { panic(err) }
defer response.Body.Close()
if response.StatusCode >= 400 { panic(response.Status) }
body, err := io.ReadAll(response.Body)
if err != nil { panic(err) }
fmt.Println(string(body))
}Ruby .Red::HTTP · biblioteca estándar
require "net/http"
require "uri"
uri = URI("https://api.webscrapingapi.com/v2")
uri.query = URI.encode_www_form(
api_key: ENV.fetch("WSA_API_KEY"),
url: "https://example.com/public-page",
json_response: 1
)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.open_timeout = 10
http.read_timeout = 120
response = http.get(uri.request_uri)
unless response.is_a?(Net::HTTPSuccess)
raise "API status #{response.code}"
end
puts response.bodyC# HttpClient · .NET 6+
using System.Net;
var apiKey = Environment.GetEnvironmentVariable("WSA_API_KEY");
if (string.IsNullOrWhiteSpace(apiKey)) {
throw new InvalidOperationException("WSA_API_KEY is required");
}
var key = WebUtility.UrlEncode(apiKey);
var target = WebUtility.UrlEncode(
"https://example.com/public-page"
);
var requestUrl =
"https://api.webscrapingapi.com/v2?api_key=" + key
+ "&url=" + target + "&json_response=1";
using var client = new HttpClient {
Timeout = TimeSpan.FromSeconds(120)
};
var response = await client.GetAsync(requestUrl);
response.EnsureSuccessStatusCode();
Console.WriteLine(
await response.Content.ReadAsStringAsync()
);Revisión de las herramientas y las entregas
Las respuestas directas de API, archivos y entregas basadas en el destino requieren diferentes entregas. Revise la salida, autenticación, cadencia, retención y propietario operativo para el producto seleccionado.
Categoría de evaluación
Modela la solicitud HTTP documentada en tu espacio de trabajo y revisa el manejo secreto, las variables, las respuestas esperadas y las convenciones de recogida con tu equipo.
Categoría de evaluación
Confirmar el formato de respuesta, el manejo del estado, el análisis, los retens limitados y el almacenamiento para los productos que devuelvan los datos a la solicitud.
Categoría de evaluación
Parade forma recurrente Fuentes de datoso unaDatos gestionados entrega de los productos y servicios, el formato de archivo, el embalaje, el método de transferencia, la cadencia, el nombramiento, el cifrado y las verificaciones de aceptación.
Categoría de evaluación
Para los datos preparados de laMercado de datoso programado Fuentes de datos, evaluar el destino, las credenciales, la partición, la evolución del esquema, el comportamiento de actualización y la propiedad de operación.
Recursos para desarrolladores
Utilice la documentación para el comportamiento de la solicitud, el directorio SDK para los paquetes lanzados, el estado de la condición del servicio y el panel de control de la cuenta para su acceso.
Browse all developer product pathsEjecutar su primera solicitud
Seleccione un ejemplo de lenguaje, reemplace el target, y verificar la respuesta devuelta. API de scraping La guía explica el modelo de acceso y los controles disponibles para solicitarlo.