Wpgrabber и OpenRouter: Ошибка OpenRouter API: Неизвестная ошибка API (Как подключить прокси proxy к OpenRouter)

Wpgrabber и OpenRouter

Выдает Ошибку "Ошибка OpenRouter API: Неизвестная ошибка API"

У меня есть плагин wpgrabber, не работает OpenRouter API
подозреваю что ip хостинга в черном списке
хочу попробовать через прокси

В настройках есть
Настройка прокси ленты
Включить Proxy
Включить Proxy list
Прокси как вариант: socks5://username:password@localhost:12345

В настройках самого плагина есть:

Для запросов использовать Тип proxy
CURLPROXY_HTTP
CURLPROXY_SOCKS5
CURLPROXY_SOCKS4A
CURLPROXY_SOCKS5_HOSTNAME

Как правильно настроить и что купить IPv6 Прокси или IPv4 Прокси
Какую страну?

IPv4 прокси работают стабильнее с большинством API
США, Германия или Нидерланды
SOCKS5 - более гибкий

Попробуйте: https://proxy6.net/ru/

После покупки прокси, вы можете протестировать его (вообще работает он или нет, и работает ли он с OpenRouter)

готовый код с вашими настройками прокси. Загрузите его на сервер как test_openrouter_proxy.php и откройте в браузере

Меняйте:

1. $apiKey
2. $proxyHost
3. $proxyUserPwd
4. Авторизация
5. HTTP-Referer
6. HTTP-Referer


<?php
$apiKey = 'sk-or-v1-d166f548f4a5554353454353454337e8c6fa';

// Настройки прокси
$proxyHost = '168.181.54.73:8000';
$proxyUserPwd = '4uL5aH:nD4G432W2';

echo "<h2>Диагностика OpenRouter через прокси</h2>";
echo "<p>Прокси: $proxyHost</p>";
echo "<p>Авторизация: 4uL5aH:nD4G432W2</p>";
echo "<p>Тип: SOCKS5</p>";
echo "<hr>";

// === ТЕСТ 1: Проверяем сам прокси ===
echo "<h3>Тест 1: Проверка прокси (какой IP видим)</h3>";
$ch1 = curl_init('https://httpbin.org/ip');
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_PROXY, $proxyHost);
curl_setopt($ch1, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch1, CURLOPT_PROXYUSERPWD, $proxyUserPwd);
curl_setopt($ch1, CURLOPT_TIMEOUT, 15);

$response1 = curl_exec($ch1);
$httpCode1 = curl_getinfo($ch1, CURLINFO_HTTP_CODE);
$curlError1 = curl_error($ch1);
curl_close($ch1);

echo "<p>HTTP код: <b>$httpCode1</b></p>";
if ($curlError1) {
    echo "<p style='color:red;'>Ошибка CURL: $curlError1</p>";
} else {
    echo "<pre>" . htmlspecialchars($response1) . "</pre>";
    if ($httpCode1 == 200) {
        echo "<p style='color:green;'>Прокси работает!</p>";
    }
}

echo "<hr>";

// === ТЕСТ 2: OpenRouter через прокси ===
echo "<h3>Тест 2: OpenRouter через прокси</h3>";
$ch2 = curl_init('https://openrouter.ai/api/v1/chat/completions');
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch2, CURLOPT_POST, true);
curl_setopt($ch2, CURLOPT_POSTFIELDS, json_encode([
    'model' => 'openai/gpt-4o-mini',
    'messages' => [
        ['role' => 'user', 'content' => 'Скажи OK']
    ]
]));
curl_setopt($ch2, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer ' . $apiKey,
    'HTTP-Referer: https://zaplata.ru',
    'X-Title: Test'
]);

// Настройки прокси
curl_setopt($ch2, CURLOPT_PROXY, $proxyHost);
curl_setopt($ch2, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch2, CURLOPT_PROXYUSERPWD, $proxyUserPwd);
curl_setopt($ch2, CURLOPT_TIMEOUT, 30);

$response2 = curl_exec($ch2);
$httpCode2 = curl_getinfo($ch2, CURLINFO_HTTP_CODE);
$curlError2 = curl_error($ch2);
curl_close($ch2);

echo "<p>HTTP код: <b>$httpCode2</b></p>";
if ($curlError2) {
    echo "<p style='color:red;'>Ошибка CURL: $curlError2</p>";
} else {
    echo "<pre>" . htmlspecialchars($response2) . "</pre>";
    
    if ($httpCode2 == 200) {
        echo "<p style='color:green; font-weight:bold;'>УСПЕХ! Прокси решает проблему с OpenRouter.</p>";
        echo "<p>Теперь нужно настроить прокси в WPGrabber.</p>";
    } elseif ($httpCode2 == 403) {
        echo "<p style='color:red;'>OpenRouter всё равно блокирует даже через прокси.</p>";
        echo "<p>Возможно, прокси не применяется или IP прокси тоже в чёрном списке.</p>";
    }
}

echo "<hr>";

// === ТЕСТ 3: OpenRouter БЕЗ прокси (для сравнения) ===
echo "<h3>Тест 3: OpenRouter БЕЗ прокси (для сравнения)</h3>";
$ch3 = curl_init('https://openrouter.ai/api/v1/chat/completions');
curl_setopt($ch3, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch3, CURLOPT_POST, true);
curl_setopt($ch3, CURLOPT_POSTFIELDS, json_encode([
    'model' => 'openai/gpt-4o-mini',
    'messages' => [
        ['role' => 'user', 'content' => 'Скажи OK']
    ]
]));
curl_setopt($ch3, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer ' . $apiKey,
    'HTTP-Referer: https://zaplata.ru',
    'X-Title: Test'
]);
curl_setopt($ch3, CURLOPT_TIMEOUT, 30);

$response3 = curl_exec($ch3);
$httpCode3 = curl_getinfo($ch3, CURLINFO_HTTP_CODE);
$curlError3 = curl_error($ch3);
curl_close($ch3);

echo "<p>HTTP код: <b>$httpCode3</b></p>";
if ($curlError3) {
    echo "<p style='color:red;'>Ошибка CURL: $curlError3</p>";
} else {
    echo "<pre>" . htmlspecialchars($response3) . "</pre>";
}
?>


Что покажет этот скрипт:

Тест 1 — проверит, работает ли сам прокси (должен показать IP 168.181.54.73)
Тест 2 — запрос к OpenRouter через прокси (должен вернуть 200 OK)
Тест 3 — запрос к OpenRouter без прокси (скорее всего вернёт 403)
Возможные результаты:
Тест 2 = 200, Тест 3 = 403 → Прокси работает, нужно настроить его в WPGrabber
Тест 2 = 403, Тест 3 = 403 → Прокси не применяется или IP прокси тоже заблокирован
Тест 1 = ошибка → Прокси не работает, нужно проверить настройки
После теста удалите файл с сервера.

После чего, скорее всего станет ясно что делать. В моем случае IP все-таки был заблокирован. Я подключил прокси. (инструкцию см на странице по ссылке в комментах)

guest
Закрыть меню