IPRoyal Documentation
CN
CN
  • 概述
  • 代理
    • 皇家住宅代理
      • 仪表板
        • 统计数据
        • 配置
          • 自动充值
          • 代理访问
          • 白名单IP
          • 跳过IP
          • 权限管理
        • 订单
        • 子用户
      • 代理
        • 位置
        • 轮换类型
        • 高端池
        • 跳过静态ISP
        • IP白名单
        • 跳过IP
        • 权限管理
        • 协议
        • 提出请求
      • 子用户
      • API
        • 会话
        • 用户
        • 访问
        • 子用户
        • 白名单
        • 跳过IP
      • 域名访问条款
    • 静态住宅代理
      • 仪表板
        • 订单
        • 订单配置
        • 续期订单
      • 使用代理字符串
      • API
        • 用户
        • 产品
        • 订单
        • 代理
    • 数据中心代理
      • 仪表板
        • 订单
        • 订单配置
        • 续期订单
      • 使用代理字符串
      • API
        • 用户
        • 产品
        • 订单
        • 代理
    • 移动代理
      • 仪表板
        • 订单
        • 订单配置
        • 续期订单
      • 使用代理字符串
      • 故障排除
      • API
        • 用户
        • 代理
Powered by GitBook
On this page
  • 创建跳过IP列表
  • 获取多个跳过IP列表
  • 更新跳过IP列表
  • 删除跳过IP列表
  1. 代理
  2. 皇家住宅代理
  3. API

跳过IP

下面提供的链接指向一个详细的页面,详细说明了我们系统中的“跳过IP”的概念。

跳过IP


请注意,几乎每个端点都与IP跳转有关,除了index 和 delete 等值得注意的例外情况外,将在成功调用时返回一个跳过IP资源。

IpSkippingResource
{
    "hash": "01HQ5K3P97DY8EX9Y90YT1K6XA",
    "title": "192.0.2.1",
    "items": [
        {
            "hash": "01HQJ5GS1NXBP562CCQFQB6XN7",
            "ip_range": "24.52.81.2/32"
        },
        {
            "hash": "01HQJ5GW9NXBCC62CCQFQB6XN7",
            "ip_range": "14.51.82.2/32"
        }
    ]
}

创建跳过IP列表

POST /residential-users/{residential_user_hash}/ips-skipping

查询参数

名称
类型
描述

residential_user_hash

字符串

用户的哈希值

正文参数

名称
类型
描述

title

字符串

跳过IP列表的标题

請求範例

curl -X POST "https://resi-api.iproyal.com/v1/residential-users/<residential_user_hash>/ips-skipping" \
     -H "Authorization: Bearer <your_api_token>" \
     -H "Content-Type: application/json" \
     -d '{
           "title": "Your Title"
         }'
<?php
$api_token = '<your_api_token>';
$residential_user_hash = '<residential_user_hash>';
$title = 'Your Title';

$url = "https://resi-api.iproyal.com/v1/residential-users/$residential_user_hash/ips-skipping";

$data = ['title' => $title];

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $api_token",
        'Content-Type: application/json'
    ],
    CURLOPT_POSTFIELDS => json_encode($data)
];

$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    echo $response;
}

curl_close($ch);
?>
import requests

api_token = '<your_api_token>'
residential_user_hash = '<residential_user_hash>'
title = 'Your Title'
url = f'https://resi-api.iproyal.com/v1/residential-users/{residential_user_hash}/ips-skipping'

data = {
    'title': title
}

headers = {
    'Authorization': f'Bearer {api_token}',
    'Content-Type': 'application/json'
}

response = requests.post(url, json=data, headers=headers)

print(response.text)
const https = require('https');

const api_token = '<your_api_token>';
const residential_user_hash = '<residential_user_hash>';
const title = 'Your Title';

const data = JSON.stringify({
  title: title
});

const options = {
  hostname: 'resi-api.iproyal.com',
  path: `/v1/residential-users/${residential_user_hash}/ips-skipping`,
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${api_token}`,
    'Content-Type': 'application/json',
    'Content-Length': data.length
  }
};

const req = https.request(options, (res) => {
  let responseData = '';

  res.on('data', (chunk) => {
    responseData += chunk;
  });

  res.on('end', () => {
    console.log(responseData);
  });
});

req.on('error', (error) => {
  console.error('Error:', error.message);
});

req.write(data);
req.end();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        String apiToken = "<your_api_token>";
        String residentialUserHash = "<residential_user_hash>";
        String url = "https://resi-api.iproyal.com/v1/residential-users/" + residentialUserHash + "/ips-skipping";

        String requestBody = """
            {
                "title": "Your Title"
            }
        """;

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .header("Content-Type", "application/json")
                .header("Authorization", "Bearer " + apiToken)
                .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println("Response Code: " + response.statusCode());
        System.out.println("Response Body: " + response.body());
    }
}
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io"
	"log"
	"net/http"
)

const (
	apiToken            = "<your_api_token>"
	residentialUserHash = "<residential_user_hash>"
	title               = "Your Title"
)

func main() {
	url := fmt.Sprintf("https://resi-api.iproyal.com/v1/residential-users/%s/ips-skipping", residentialUserHash)

	data := map[string]interface{}{
		"title": title,
	}

	jsonData, err := json.Marshal(data)
	if err != nil {
		log.Fatal("Error marshaling JSON:", err)
	}

	req, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal("Error creating request:", err)
	}

	req.Header.Set("Authorization", "Bearer "+apiToken)
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal("Error making request:", err)
	}
	defer resp.Body.Close()

	responseBody, err := io.ReadAll(resp.Body)
	if err != nil {
		log.Fatal("Error reading response body:", err)
	}

	fmt.Println(string(responseBody))
}
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        string apiToken = "<your_api_token>";
        string residentialUserHash = "<residential_user_hash>";
        string title = "Your Title";
        string url = $"https://resi-api.iproyal.com/v1/residential-users/{residentialUserHash}/ips-skipping";

        var data = new
        {
            title = title
        };

        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiToken}");

            var jsonData = JsonSerializer.Serialize(data);
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync(url, content);

            string responseText = await response.Content.ReadAsStringAsync();
            Console.WriteLine(responseText);
        }
    }
}

响应示例:

{
    "hash": "01HQ5K3P97DY8EX9Y90YT1K6XA",
    "title": "Your Title",
    "items": [
        {
            "hash": "01HQJ5GS1NXBP562CCQFQB6XN7",
            "ip_range": "24.52.81.2/32"
        },
        {
            "hash": "01HQJ5GW9NXBCC62CCQFQB6XN7",
            "ip_range": "14.51.82.2/32"
        }
    ]
}

获取多个跳过IP列表

GET /residential-users/{residential_user_hash}/ips-skipping

查询参数

名称
类型
描述

residential_user_hash

字符串

用户的哈希值

請求範例

curl -X GET "https://resi-api.iproyal.com/v1/residential-users/<residential_user_hash>/ips-skipping" \
     -H "Authorization: Bearer <your_api_token>" \
     -H "Content-Type: application/json"
<?php
$api_token = '<your_api_token>';
$residential_user_hash = '<residential_user_hash>';

$url = "https://resi-api.iproyal.com/v1/residential-users/$residential_user_hash/ips-skipping";

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $api_token",
        'Content-Type: application/json'
    ]
];

$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    echo $response;
}

curl_close($ch);
?>
import requests

api_token = '<your_api_token>'
residential_user_hash = '<residential_user_hash>'
url = f'https://resi-api.iproyal.com/v1/residential-users/{residential_user_hash}/ips-skipping'

headers = {
    'Authorization': f'Bearer {api_token}',
    'Content-Type': 'application/json'
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const https = require('https');

const api_token = '<your_api_token>';
const residential_user_hash = '<residential_user_hash>';

const options = {
  hostname: 'resi-api.iproyal.com',
  path: `/v1/residential-users/${residential_user_hash}/ips-skipping`,
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${api_token}`,
    'Content-Type': 'application/json'
  }
};

const req = https.request(options, (res) => {
  let responseData = '';

  res.on('data', (chunk) => {
    responseData += chunk;
  });

  res.on('end', () => {
    console.log(responseData);
  });
});

req.on('error', (error) => {
  console.error('Error:', error.message);
});

req.end();
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ApiRequest {
    public static void main(String[] args) {
        String apiToken = "<your_api_token>";
        String residentialUserHash = "<residential_user_hash>";
        String urlString = String.format("https://resi-api.iproyal.com/v1/residential-users/%s/ips-skipping", residentialUserHash);

        try {
            URL url = new URL(urlString);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setRequestProperty("Authorization", "Bearer " + apiToken);
            connection.setRequestProperty("Content-Type", "application/json");

            int responseCode = connection.getResponseCode();
            System.out.println("Response Code: " + responseCode);

            if (responseCode == HttpURLConnection.HTTP_OK) {
                BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String inputLine;
                StringBuilder content = new StringBuilder();

                while ((inputLine = in.readLine()) != null) {
                    content.append(inputLine);
                }
                in.close();

                System.out.println("Response Body: " + content.toString());
            } else {
                System.out.println("GET request failed. Response Code: " + responseCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
package main

import (
	"encoding/json"
	"fmt"
	"io"
	"log"
	"net/http"
)

const (
	apiToken            = "<your_api_token>"
	residentialUserHash = "<residential_user_hash>"
)

func main() {
	url := fmt.Sprintf("https://resi-api.iproyal.com/v1/residential-users/%s/ips-skipping", residentialUserHash)

	req, err := http.NewRequest(http.MethodGet, url, nil)
	if err != nil {
		log.Fatal("Error creating request:", err)
	}

	req.Header.Set("Authorization", "Bearer "+apiToken)
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal("Error making request:", err)
	}
	defer resp.Body.Close()

	fmt.Println("Status Code:", resp.StatusCode)

	responseBody, err := io.ReadAll(resp.Body)
	if err != nil {
		log.Fatal("Error reading response body:", err)
	}

	fmt.Printf(string(responseBody))
}
using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        string apiToken = "<your_api_token>";
        string residentialUserHash = "<residential_user_hash>";
        string url = $"https://resi-api.iproyal.com/v1/residential-users/{residentialUserHash}/ips-skipping";

        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiToken}");

            HttpResponseMessage response = await client.GetAsync(url);

            Console.WriteLine((int)response.StatusCode);

            string responseText = await response.Content.ReadAsStringAsync();
            var jsonResponse = JsonSerializer.Deserialize<JsonElement>(responseText);
            Console.WriteLine(jsonResponse);
        }
    }
}

响应示例:

{
    "data": [
        {
            "hash": "01HQ5K3P97DY8EX9Y90YT1K6XA",
            "title": "Your Title",
            "items": [
                {
                    "hash": "01HQJ5GS1NXBP562CCQFQB6XN7",
                    "ip_range": "24.52.81.2/32"
                },
                {
                    "hash": "01HQJ5GW9NXBCC62CCQFQB6XN7",
                    "ip_range": "14.51.82.2/32"
                }
            ]
        }
    ],
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "/",
        "per_page": 15,
        "to": 1,
        "total": 1
    }
}

更新跳过IP列表

UPDATE /residential-users/{residential_user_hash}/ips-skipping/{ips_skipping_hash}

查询参数

名称
类型
描述

residential_user_hash

字符串

用户的哈希值

ips_skipping_hash

字符串

跳过IP地址列表的哈希值

正文参数

名称
类型
描述

title

字符串

跳转列表的标题

ip_ranges

数组

要添加到列表中的范围

請求範例

curl -X PUT "https://resi-api.iproyal.com/v1/residential-users/<residential_user_hash>/ips-skipping/<ips_skipping_hash>" \
     -H "Authorization: Bearer <your_api_token>" \
     -H "Content-Type: application/json" \
     -d '{
           "title": "New Title",
           "ip_ranges": ["192.168.0.0/24", "10.0.0.0/8"]
         }'
<?php
$api_token = '<your_api_token>';
$residential_user_hash = '<residential_user_hash>';
$ips_skipping_hash = '<ips_skipping_hash>';
$title = 'New Title';
$ip_ranges = ['192.168.0.0/24', '10.0.0.0/8'];

$url = "https://resi-api.iproyal.com/v1/residential-users/$residential_user_hash/ips-skipping/$ips_skipping_hash";

$data = [
    'title' => $title,
    'ip_ranges' => $ip_ranges
];

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $api_token",
        'Content-Type: application/json'
    ],
    CURLOPT_POSTFIELDS => json_encode($data)
];

$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    echo $response;
}

curl_close($ch);
?>
import requests

api_token = '<your_api_token>'
residential_user_hash = '<residential_user_hash>'
ips_skipping_hash = '<ips_skipping_hash>'
url = f'https://resi-api.iproyal.com/v1/residential-users/{residential_user_hash}/ips-skipping/{ips_skipping_hash}'

data = {
    'title': 'New Title',
    'ip_ranges': ['192.168.0.0/24', '10.0.0.0/8']
}

headers = {
    'Authorization': f'Bearer {api_token}',
    'Content-Type': 'application/json'
}

response = requests.put(url, json=data, headers=headers)

print(response.status_code)
print(response.text)
const https = require('https');

const api_token = '<your_api_token>';
const residential_user_hash = '<residential_user_hash>';
const ips_skipping_hash = '<ips_skipping_hash>';
const title = 'New Title';
const ip_ranges = ['192.168.0.0/24', '10.0.0.0/8'];
const data = JSON.stringify({ title, ip_ranges });

const options = {
  hostname: 'resi-api.iproyal.com',
  path: `/v1/residential-users/${residential_user_hash}/ips-skipping/${ips_skipping_hash}`,
  method: 'PUT',
  headers: {
    'Authorization': `Bearer ${api_token}`,
    'Content-Type': 'application/json',
    'Content-Length': data.length
  }
};

const req = https.request(options, (res) => {
  let responseData = '';

  res.on('data', (chunk) => {
    responseData += chunk;
  });

  res.on('end', () => {
    console.log(responseData);
  });
});

req.on('error', (error) => {
  console.error('Error:', error.message);
});

req.write(data);
req.end();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        String apiToken = "<your_api_token>";
        String residentialUserHash = "<residential_user_hash>";
        String ipsSkippingHash = "<ips_skipping_hash>";
        String url = "https://resi-api.iproyal.com/v1/residential-users/" + residentialUserHash + "/ips-skipping/" + ipsSkippingHash;

        String requestBody = """
            {
                "title": "New Title",
                "ip_ranges": ["192.168.0.0/24", "10.0.0.0/8"]
            }
        """;

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .header("Content-Type", "application/json")
                .header("Authorization", "Bearer " + apiToken)
                .PUT(HttpRequest.BodyPublishers.ofString(requestBody))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println("Response Code: " + response.statusCode());
        System.out.println("Response Body: " + response.body());
    }
}
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io"
	"log"
	"net/http"
)

const (
	apiToken            = "<your_api_token>"
	residentialUserHash = "<residential_user_hash>"
	ipsSkippingHash     = "<ips_skipping_hash>"
)

func main() {
	url := fmt.Sprintf("https://resi-api.iproyal.com/v1/residential-users/%s/ips-skipping/%s", residentialUserHash, ipsSkippingHash)

	data := map[string]interface{}{
		"title":     "New Title",
		"ip_ranges": []string{"192.168.0.0/24", "10.0.0.0/8"},
	}

	jsonData, err := json.Marshal(data)
	if err != nil {
		log.Fatal("Error marshaling JSON:", err)
	}

	req, err := http.NewRequest(http.MethodPut, url, bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal("Error creating request:", err)
	}

	req.Header.Set("Authorization", "Bearer "+apiToken)
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal("Error making request:", err)
	}
	defer resp.Body.Close()

	fmt.Println("Status Code:", resp.StatusCode)

	responseBody, err := io.ReadAll(resp.Body)
	if err != nil {
		log.Fatal("Error reading response body:", err)
	}

	fmt.Println(string(responseBody))
}
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        string apiToken = "<your_api_token>";
        string residentialUserHash = "<residential_user_hash>";
        string ipsSkippingHash = "<ips_skipping_hash>";
        string url = $"https://resi-api.iproyal.com/v1/residential-users/{residentialUserHash}/ips-skipping/{ipsSkippingHash}";

        var data = new
        {
            title = "New Title",
            ip_ranges = new string[] { "192.168.0.0/24", "10.0.0.0/8" }
        };

        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiToken}");

            var jsonData = JsonSerializer.Serialize(data);
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PutAsync(url, content);

            Console.WriteLine((int)response.StatusCode);
            string responseText = await response.Content.ReadAsStringAsync();
            Console.WriteLine(responseText);
        }
    }
}

响应示例:

{
    "hash": "01HQ5K3P97DY8EX9Y90YT1K6XA",
    "title": "New Title",
    "items": [
        {
            "hash": "01HQJ5GS1NXBP562CCQFQB6XN7",
            "ip_range": "192.168.0.0/24"
        },
        {
            "hash": "01HQJ5GW9NXBCC62CCQFQB6XN7",
            "ip_range": "10.0.0.0/8"
        }
    ]
}

删除跳过IP列表

DELETE /residential-users/{residential_user_hash}/ips-skipping/{ips_skipping_hash}

查询参数

名称
类型
Description

residential_user_hash

字符串

用户的哈希值

ips_skipping_hash

字符串

跳过IP地址列表的哈希值

請求範例

curl -X DELETE "https://resi-api.iproyal.com/v1/residential-users/<residential_user_hash>/ips-skipping/<ips_skipping_hash>" \
     -H "Authorization: Bearer <your_api_token>" \
     -H "Content-Type: application/json"
<?php
$api_token = '<your_api_token>';
$residential_user_hash = '<residential_user_hash>';
$ips_skipping_hash = '<ips_skipping_hash>';

$url = "https://resi-api.iproyal.com/v1/residential-users/$residential_user_hash/ips-skipping/$ips_skipping_hash";

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $api_token",
        'Content-Type: application/json'
    ]
];

$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    echo $response;
}

curl_close($ch);
?>
import requests

api_token = '<your_api_token>'
residential_user_hash = '<residential_user_hash>'
ips_skipping_hash = '<ips_skipping_hash>'
url = f'https://resi-api.iproyal.com/v1/residential-users/{residential_user_hash}/ips-skipping/{ips_skipping_hash}'

data = {
    'title': 'New Title',
    'ip_ranges': ['192.168.0.0/24', '10.0.0.0/8']
}

headers = {
    'Authorization': f'Bearer {api_token}',
    'Content-Type': 'application/json'
}

response = requests.put(url, json=data, headers=headers)

print(response.status_code)
print(response.text)
const https = require('https');

const api_token = '<your_api_token>';
const residential_user_hash = '<residential_user_hash>';
const ips_skipping_hash = '<ips_skipping_hash>';

const options = {
  hostname: 'resi-api.iproyal.com',
  path: `/v1/residential-users/${residential_user_hash}/ips-skipping/${ips_skipping_hash}`,
  method: 'DELETE',
  headers: {
    'Authorization': `Bearer ${api_token}`,
    'Content-Type': 'application/json'
  }
};

const req = https.request(options, (res) => {
  let responseData = '';

  res.on('data', (chunk) => {
    responseData += chunk;
  });

  res.on('end', () => {
    console.log(responseData);
  });
});

req.on('error', (error) => {
  console.error('Error:', error.message);
});

req.end();
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ApiRequest {
    public static void main(String[] args) {
        String apiToken = "<your_api_token>";
        String residentialUserHash = "<residential_user_hash>";
        String ipsSkippingHash = "<ips_skipping_hash>";
        String urlString = String.format("https://resi-api.iproyal.com/v1/residential-users/%s/ips-skipping/%s", residentialUserHash, ipsSkippingHash);

        try {
            URL url = new URL(urlString);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("DELETE");
            connection.setRequestProperty("Authorization", "Bearer " + apiToken);
            connection.setRequestProperty("Content-Type", "application/json");

            int responseCode = connection.getResponseCode();
            System.out.println("Response Code: " + responseCode);

            if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
                BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String inputLine;
                StringBuilder content = new StringBuilder();

                while ((inputLine = in.readLine()) != null) {
                    content.append(inputLine);
                }
                in.close();

                System.out.println("Response Body: " + content.toString());
            } else {
                System.out.println("DELETE request failed. Response Code: " + responseCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
package main

import (
	"fmt"
	"log"
	"net/http"
)

const (
	apiToken            = "<your_api_token>"
	residentialUserHash = "<residential_user_hash>"
	ipsSkippingHash     = "<ips_skipping_hash>"
)

func main() {
	url := fmt.Sprintf("https://resi-api.iproyal.com/v1/residential-users/%s/ips-skipping/%s", residentialUserHash, ipsSkippingHash)

	req, err := http.NewRequest(http.MethodDelete, url, nil)
	if err != nil {
		log.Fatal("Error creating request:", err)
	}

	req.Header.Set("Authorization", "Bearer "+apiToken)
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal("Error making request:", err)
	}
	defer resp.Body.Close()

	fmt.Println("Status Code:", resp.StatusCode)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        string apiToken = "<your_api_token>";
        string residentialUserHash = "<residential_user_hash>";
        string ipsSkippingHash = "<ips_skipping_hash>";
        string url = $"https://resi-api.iproyal.com/v1/residential-users/{residentialUserHash}/ips-skipping/{ipsSkippingHash}";

        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiToken}");

            HttpResponseMessage response = await client.DeleteAsync(url);

            Console.WriteLine((int)response.StatusCode);
            string responseText = await response.Content.ReadAsStringAsync();
            Console.WriteLine(responseText);
        }
    }
}
Previous白名单Next域名访问条款

Last updated 3 days ago