170 похожих чатов

Подскажите, с точки зрения читаемости и логичности кода как правильнее

поступить
предположим есть функция, которая как аргумент принимает ссылку на сайт, а далее проверяет заблокирован ли этот сайт в определенном сервисе, если сайт заблокирован, то что возвращать True или False?

25 ответов

29 просмотров

Зависит от того, как ты поставил задачу. На что проверяешь?

xtemple
заблокирован ли

А если недоступен/ошибка?

xtemple- Автор вопроса
xtemple
это уже другая функция

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

Я это всё к тому что надо не отдельный кейс смотреть, а в целом какую инфу предполагается собрать - иначе о читаемости и логичности рассуждать как-то странно)

xtemple- Автор вопроса
Владимир
Я это всё к тому что надо не отдельный кейс смотре...

суть в том чтобы во-первых, получить 200 код, если он есть проверить заблокирован ли домен в определенных сервисах

is_not_sth который возвращает False это как правило говнокод потому что в игре уже есть оператор not Поэтому только is_sth и возвращать True

Обычно же возвращают коды. Аля 200 доступен. 403 заблокирован. Хз как временно недоступен

И друг мой грузовик 🚛
Обычно же возвращают коды. Аля 200 доступен. 403 з...

Ну подожди я к тому что в некоторых случаях просто ответа не будет, или будут другие исключения) оно же должно зарезолвиться для начала по днс Потом ответа может и не быть - будет просто таймаут Есть ConnectionRefused, а это не 403)

И друг мой грузовик 🚛
Обычно же возвращают коды. Аля 200 доступен. 403 з...

Нуу вот например (примеры кода не огонь, просто первое что попалось) https://stackoverflow.com/questions/40145631/precisely-catch-dns-error-with-python-requests

Владимир
Ну подожди я к тому что в некоторых случаях просто...

тогда получается что соединение между клиентом и сервером, по http, нужно проверять с более низких уровней? 🧐

И друг мой грузовик 🚛
тогда получается что соединение между клиентом и с...

Можно так, да, можно и в обработке исключений. Это слишком сильно зависит от тз и конкретных кейсов (впринципе, в некоторых случаях имхо было бы уместно предварительно отсеять значительную часть низкоуровневыми проверками).

Владимир
Можно так, да, можно и в обработке исключений. Это...

я так понимаю на низком уровне, если речь идет про страничку в интернете, этим займется браузер

Kirill Shikhalev
raise_for_status

а если до не смог достучаться то цели?

У requests по дефолту не вылетает исключения для таймаута, потому что таймаута нет как такового, он просто намертво встанет и все. Ручками пропиши там 30 секунд таймаута например и отлавливай исключение нужное

Kirill Shikhalev
У requests по дефолту не вылетает исключения для т...

он не встанет намертво. Зависит от сервера, напимер.

И друг мой грузовик 🚛
он не встанет намертво. Зависит от сервера, напиме...

Ну да, если сервер ответит то естественно не встанет

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта