Примеры кода
Проверьте совместимость цели и типа проверки перед выбором версии API. Сохраняйте IP прокси и контекст запроса; проверяйте статус и содержимое ответа перед обработкой.
: "${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());
}
}