cURL Muschel · Locke
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"Direkte HTTP-Beispiele
Kopieren Sie eine Scraper API-Anfrage in Ihrer Programmiersprache. Jedes Beispiel liest einen serverseitigen API-Schlüssel ein, kodiert die URL, setzt ein Zeitlimit und prüft die Antwort.
Sprach-Einstiegspunkte
Jedes Beispiel ruft den REST-Endpunkt direkt an, damit Sie mit vertrauten Sprachwerkzeugen beginnen können. SDK-Verzeichnis.
cURL Muschel · Locke
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"NodeJS fetch · Node 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());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())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;Golang net/http · Standardbibliothek
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))
}Java Java 11 oder höher
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());.NET.NET 6+ oder höher
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()
);Ruby Net::HTTP · Standardbibliothek
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.bodyTooling und Handoff Review
Binden Sie API-Antworten in Ihre App ein oder vereinbaren Sie Dateiformat und Lieferziel für Datensätze und Feeds.
Kategorie der Bewertung
Modellieren Sie die dokumentierte HTTP-Anfrage in Ihrem Arbeitsplatz und überprüfen Sie den geheimen Umgang, die Variablen, die erwarteten Antworten und die Sammelkonventionen mit Ihrem Team.
Kategorie der Bewertung
Bestätigen Sie das Antwortformat, die Statusverarbeitung, das Parsieren, die begrenzten Wiederversuche und die Speicherung für Produkte, die Daten zur Anfrage zurückgeben.
Kategorie der Bewertung
For Datenfeeds or a Verwaltete Daten Lieferung, Überprüfung des Dateiformats, Verpackung, Übertragungsmethode, Kadenz, Benennung, Verschlüsselung und Akzeptanzkontrollen.
Kategorie der Bewertung
Für aufbereitete Daten aus dem Datenmarktplatz oder auf der Liste Datenfeeds ausgewertet werden, die Bestimmung, die Anmeldeinformationen, die Partition, die Schema-Evolutionierung, das Refresh-Verhalten und das Betriebsbesitz.
Ressourcen für Entwickler
Verwenden Sie Dokumentation für das Anforderungsverhalten, das SDK-Verzeichnis für freigegebene Pakete, den Status für den Servicezustand und das Konto-Dashboard für Ihren Zugriff.
Browse all developer product pathsFühren Sie Ihre erste Anfrage aus
Wählen Sie ein Sprachenbeispiel, ersetzen Sie die target Die Antwort ist zu überprüfen. Scraper-API In dem Leitfaden wird das Zugangsmodell und die verfügbaren Anforderungskontrollen erläutert.