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 все-таки был заблокирован. Я подключил прокси. (инструкцию см на странице по ссылке в комментах)
См.Также:
Как проверить openrouter.ai заблокирован или нет мой аккаунт и ключ
https://zaplata.ru/forum/ai/kak-proverit-openrouter-ai-zablokirovan-ili-net-moj-akkaunt-i-klyuch
Как включить прокси для Wpgrabber правильно?
https://zaplata.ru/forum/wpgrabber/kak-vklyuchit-proksi-dlya-wpgrabber-pravilno