Saltar al contenido

Ejemplos directos de HTTP

WebScrapingAPI ejemplos de integración para llamadas REST del lado del servidor.

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

Utilice el cliente HTTP ya en su backend.

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"

Usar--fail-with-bodylos estados HTTP no exitosos permanecen visibles para el proceso de llamada.

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())

requestscodifica los parámetros de consulta;raise_for_status()mantiene el manejo de fallas explícito.

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());

El tiempo de ejecuciónfetchEl cliente envía directamente la llamada REST; se supone que no se cumple el paquete WebScrapingAPI.

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;

http_build_querycodifica los valores de la solicitud; inspeccionar los errores de transporte y el estado HTTP.

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());

El estándar de JavaHttpClientes suficiente para el límite directo de solicitud y respuesta.

¡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)) }

url.Valuesmaneja la codificación; establece un tiempo límite del cliente y cierra el cuerpo de respuesta.

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.body

La biblioteca estándar de Ruby cubre la codificación de consultas, HTTPS, tiempos de salida y la inspección del estado de respuesta.

C# 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() );

HttpClientEnvía la llamada directa; mantenga la validación de la respuesta antes de analizar la aplicación.

Revisión de las herramientas y las entregas

Durante la evaluación se analizarán los destinos de entrega.

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

Revisar la solicitud del corrector

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

Respuesta directa de HTTP

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

El almacenamiento de objetos o la entrega en almacé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.

Ejecutar su primera solicitud

Conecte su backend a API de scraping.

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.