Сначала все зависит от того, как настроена подсистема разрешения имен вашей ОС.Если вы работаете в Unix (вы не указали), это регулируется /etc/resolv.conf
.Здесь вы можете предоставить ОС список поиска: если имя не имеет «достаточно» точек (число настраивается), тогда добавляется суффикс для повторного разрешения.
Библиотека, которую вы используете для выполнения HTTP-запроса.может не запрашивать у ОС разрешение имен и самостоятельно выполнять разрешение DNS.В этом случае он может работать только с информацией, которую вы ему предоставляете (но он также может повторно использовать ОС /etc/resolv.conf
и информацию в ней), поэтому необходимо использовать полное имя.Напротив, psycopg2
может использовать механизм разрешения ОС и, следовательно, отлично справляется с «короткими» именами.
Обе библиотеки должны иметь документацию о том, как они обрабатывают имена хостов ... или иначе вам нужно изучитьих исходный код.Я предполагаю, что psycopg2
- это оболочка для стандартной библиотеки libpq
по умолчанию, написанная на C, если я не ошибаюсь, которая, следовательно, наверняка использует стандартный процесс разрешения ОС.
Я могу понять любопытство, связанное с этой разницей, но в любом случае я советую сохранять короткие имена, когда вы вводите команды в оболочке и эквивалентные им (и даже там это может быть проблемой), но всегда использовать FQDN (полностью квалифицированные)Доменные имена) в вашей программе и файлах конфигурации.Вы избежите много проблем.