Scrapingbypass

Ví dụ mã

Xác nhận khả năng tương thích của mục tiêu và loại xác minh trước khi chọn phiên bản API. Giữ IP proxy và ngữ cảnh yêu cầu nhất quán; kiểm tra trạng thái và nội dung phản hồi trước khi phân tích.

: "${CLOUDBYPASS_APIKEY:?Set CLOUDBYPASS_APIKEY first}"

curl --include --request GET --max-time 40 \
  "https://api.cloudbypass.com/category/memberships" \
  --header "x-cb-apikey: $CLOUDBYPASS_APIKEY" \
  --header "x-cb-host: opensea.io" \
  --header "x-cb-timeout: 30"
import os
import requests

response = requests.get(
    "https://api.cloudbypass.com/category/memberships",
    headers={
        "x-cb-apikey": os.environ["CLOUDBYPASS_APIKEY"],
        "x-cb-host": "opensea.io",
        "x-cb-timeout": "30",
    },
    timeout=40,
)
if response.headers.get("x-cb-status") != "ok":
    raise RuntimeError(response.text)

print(response.status_code)
print(response.text)
package main

import (
    "fmt"
    "io"
    "log"
    "net/http"
    "os"
    "time"
)

func main() {
    key := os.Getenv("CLOUDBYPASS_APIKEY")
    if key == "" { log.Fatal("Set CLOUDBYPASS_APIKEY first") }
    req, err := http.NewRequest("GET",
        "https://api.cloudbypass.com/category/memberships", nil)
    if err != nil { log.Fatal(err) }
    req.Header.Set("x-cb-apikey", key)
    req.Header.Set("x-cb-host", "opensea.io")
    req.Header.Set("x-cb-timeout", "30")

    client := &http.Client{Timeout: 40 * time.Second}
    res, err := client.Do(req)
    if err != nil { log.Fatal(err) }
    defer res.Body.Close()
    body, err := io.ReadAll(res.Body)
    if err != nil { log.Fatal(err) }
    if res.Header.Get("x-cb-status") != "ok" {
        log.Fatal(string(body))
    }
    fmt.Println(res.StatusCode)
    fmt.Println(string(body))
}
// Node.js 18+; no extra packages required.
async function main() {
  const key = process.env.CLOUDBYPASS_APIKEY;
  if (!key) throw new Error("Set CLOUDBYPASS_APIKEY first");

  const response = await fetch(
    "https://api.cloudbypass.com/category/memberships",
    {
      headers: {
        "x-cb-apikey": key,
        "x-cb-host": "opensea.io",
        "x-cb-timeout": "30",
      },
      signal: AbortSignal.timeout(40000),
    }
  );
  const body = await response.text();
  if (response.headers.get("x-cb-status") !== "ok") {
    throw new Error(body);
  }
  console.log(response.status);
  console.log(body);
}
main().catch(error => {
  console.error(error.message);
  process.exitCode = 1;
});
// Java 11+; save as Main.java.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

public class Main {
    public static void main(String[] args) throws Exception {
        String key = System.getenv("CLOUDBYPASS_APIKEY");
        if (key == null || key.isBlank()) {
            throw new IllegalStateException("Set CLOUDBYPASS_APIKEY first");
        }
        HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(10)).build();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.cloudbypass.com/category/memberships"))
            .timeout(Duration.ofSeconds(40))
            .header("x-cb-apikey", key)
            .header("x-cb-host", "opensea.io")
            .header("x-cb-timeout", "30")
            .GET().build();
        HttpResponse<String> response = client.send(
            request, HttpResponse.BodyHandlers.ofString());
        if (!response.headers().firstValue("x-cb-status").orElse("").equals("ok")) {
            throw new IllegalStateException(response.body());
        }
        System.out.println(response.statusCode());
        System.out.println(response.body());
    }
}

Tài liệu API