Я столкнулся с обоими http_proxy
и HTTP_PROXY
. Обе формы эквивалентны? Один из них имеет приоритет над другим?
Я столкнулся с обоими http_proxy
и HTTP_PROXY
. Обе формы эквивалентны? Один из них имеет приоритет над другим?
Нет централизованного органа, который бы придавал официальное значение переменным среды, прежде чем приложения смогут их использовать. POSIX определяет значение некоторых переменных ( PATH
, TERM
, ...) и списки несколько больше в ненормативном, как быть в общем пользовании, все они в верхнем регистре. http_proxy
и друзья не один из них.
В отличие от обычных в основном всех переменных окружений , используемых многими приложениями, http_proxy
, https_proxy
, ftp_proxy
и , no_proxy
как правило , в нижнем регистре. Я не помню ни одной программы, которая понимает их только в верхнем регистре, я даже не могу найти ту, которая пробует их в верхнем регистре. Многие программы используют только строчный вариант, в том числе lynx, wget, curl, perl LWP, perl WWW :: Search, python urllib / urllib2 и т. Д. Поэтому для этих переменных правильная форма - строчная.
Название в нижнем регистре восходит по крайней мере к CERN libwww 2.15 в марте 1994 года (спасибо Стефану Шазеласу за то, что нашли это). Я не знаю, что послужило причиной выбора строчных букв, что было бы необычно даже тогда.
Unlike basically all conventional environment variables used by many applications, http_proxy, https_proxy, ftp_proxy and no_proxy are commonly lowercase. I don't recall any program that only understands them in uppercase
-> Для справки, я только что узнал, что докер 17.04.0-ce только чтит NO_PROXY.HTTPS_PROXY
. Докер также использует прописные буквы.sudo -E apt-add-repository ppa:xxxxx/xxxx
, я должен былunset https_proxy
иexport HTTPS_PROXY=http://a.b.c.d:xxxx
Стандарт не существует, и в зависимости от приложения используются прописные и строчные версии (также см. HTTPS_PROXY, ALL_PROXY, NO_PROXY).
Например:
локон
мерзавец
питон
urllib.request.getproxies()
поддерживает как строчные, так и прописные варианты.Также упоминается проблема безопасности:
Некоторые приложения позволяют
NO_PROXY
содержать звездочки / IP-диапазоны, а другие нет.Так
ты должен был покрыть.
источник
Соглашение заключается в использовании всех переменных среды capps при их экспорте, чтобы при написании сценариев оболочки можно было использовать имена переменных в нижнем регистре, не беспокоясь о конфликтах имен с другими программами. Конечно, это только соглашение, нет никаких технических ограничений на ограничение имен переменных среды, поэтому в некоторых случаях можно использовать строчную версию, но рекомендуется использовать верхний регистр, и помните, что они чувствительны к регистру, поэтому они могут иметь разные значения.
источник
http_proxy
и его братья и сестры обычно строчные.http_proxy
и друзей должен быть написан в нижнем регистре, в нарушение соглашения. Для приложенияHTTP_PROXY
было бы ошибкой, потому что это было бы несовместимо с остальным миром.WGET - использует только строчные настройки прокси!
источник
И то,
http_proxy
и другоеHTTP_PROXY
должно работать на системах на основе RHEL и Ubuntu.источник