master32

master32
Рейтинг
137
Регистрация
09.02.2022
Genius Ideaing :
может кто нибудь поделиться простым примером отправки текста в канал Мах на структурном PHP 5.6 , не ООП ?
проверяй:
<?php

header('Content-Type: text/plain; charset=utf-8');

$token     = getenv('MAX_BOT_TOKEN');
$channelId = getenv('MAX_CHANNEL_ID');
$text      = 'Здравствуйте! Это тестовая публикация из PHP 5.6.';

if (!$token || !$channelId) {
    exit("Не заданы MAX_BOT_TOKEN или MAX_CHANNEL_ID\n");
}

if (!function_exists('curl_init')) {
    exit("Не установлено расширение PHP cURL\n");
}

$url = 'https://platform-api2.max.ru/messages?' . http_build_query(
    array('chat_id' => $channelId),
    '',
    '&',
    PHP_QUERY_RFC3986
);

$json = json_encode(
    array(
        'text'   => $text,
        'notify' => true
    ),
    JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
);

if ($json === false) {
    exit('Ошибка формирования JSON: ' . json_last_error_msg() . "\n");
}

$curl = curl_init($url);

curl_setopt_array($curl, array(
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT        => 30,
    CURLOPT_SSL_VERIFYPEER => true,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_HTTPHEADER     => array(
        'Authorization: ' . $token,
        'Content-Type: application/json',
        'Accept: application/json'
    ),
    CURLOPT_POSTFIELDS     => $json
));

$response  = curl_exec($curl);
$curlError = curl_error($curl);
$httpCode  = (int) curl_getinfo($curl, CURLINFO_HTTP_CODE);

curl_close($curl);

if ($response === false) {
    exit("Ошибка cURL: " . $curlError . "\n");
}

if ($httpCode < 200 || $httpCode >= 300) {
    exit("MAX API вернул HTTP " . $httpCode . ":\n" . $response . "\n");
}

echo "Сообщение опубликовано.\n";
echo $response . "\n";


oceanu #:
Сегодня стата не подвисает?
висит с обеда

а еще на селектеле (ТСПУ) стали блокировать исходящие соединения на серверы в de,nl,cz,uk)
схватил жесткий фильтр (зато потестить удалось)
саппорт заявляет никаких блокировок с их стороны нет
траф порезало на 90%
написал утилиту, понял, что фильтруют везде, но не везде это так заметно)
сайт под фильтром:




сайт работает нормально:


причем фильтруются и моб ISP
кроме переезда на новый IP ничего не помогает


Сергей Новиков #:
Последствия будут, но сугубо технические, в основном просадка по скорости
а для СЕО случайно не будет хуже?
например Core Web Vitals станет хуже и LCP конкурентов лучше, и гугл понизит в ранжировании сайт?
или, как заявляет сам гугл (пруфов не будет), TLS 1.3 современный протокол, который гарантирует... что-то там.. (но и TLS 1.2 еще пока можно использовать, но не так гарантированно как 1.3)
а потом и краул бюджет будет хуже при уменьшении скорости?
я сам не СЕО специалист, просто мысли вслух озвучил, на форуме много специалистов, пускай разъясняют они)
yandrey #:
ещё http/2 отключите, пусть ходят одни боты 😀
еще метрику отключить, тогда ботов не будет (видно)
Vladimir #:
и работают без перебоев

интересно, а как ты это проверяешь и мониторишь?)
давеча зафильтровали ВДС на селектеле по IP, ничего не помогло, фильтр глобальный на всех провов, только перенос на другой IP помог
сервер пингуется, даже порты открытые видны
написал мониторинг, оказывается на всех моих хостах сыпятся подобные ошибки, пока не понял, как фильтровать критические, может быть сортировать по ISP и выделять аномалии)

Александр Воробьев #:
Но уточню, я не вникал, просто так жахнул , может и я что то намудрил
конечно, когда становится дорого, то начинаешь думать.. не просто так более дешевые модели используют)
в этом топике люди искренне удивлялись, на что можно тратить по $600 в неделю на токены, если можно за $20 купить подписку)
Sly32 #:

Я просто перешел на Пайтон.

С какого перепуга? давно есть асинхронные драйвера для  БД, есть возможность run_in_threadpool. Я только асинхронно работаю с БД, за исключением разве что миграций в алембк, но это разовое выполнение в отдельном воркере - никак не блочит производительность.

я предлагал провести тесты быстродействия при работе с бд в 100м строк
можно с выводом microtime через веб, такое не закэшируешь)

Sly32 #:
возможности асинхронности Fastapi  и в реальной ситуации он все пхпшные фреймворки оставит позади
вся асинхронность схлопывается при работе с бд)

Всего: 2185