Http_proxy автоматически работает в Linux для всех приложений? - PullRequest
0 голосов
/ 15 января 2020

Если я export http_proxy, то curl будет использовать прокси автоматически. Это потому, что curl ищет http_proxy и настраивает прокси внутри исходного кода или он просто работает автоматически? Кажется, что многие другие приложения поддерживают http_proxy автоматически, поэтому я думаю, что http_proxy может обрабатываться Linux ??

Я пишу приложение, которое должно поддерживать прокси (http_proxy ENV), и мне интересно, должен ли я обрабатывать http_proxy в исходный код.

Ответы [ 4 ]

0 голосов
/ 15 января 2020

Это потому, что curl ищет http_proxy и настраивает прокси внутри исходного кода или он просто работает автоматически?

curl получает значение переменной окружения http_proxy в curl / lib / url. c и обрабатывает его. Он не работает "автоматически".

Я думаю, что http_proxy обрабатывается Linux?

Нет, это не так. Он явно обрабатывается curl.

интересно, стоит ли обрабатывать http_proxy в исходном коде.

Вы можете сохранить совместимость с другими инструментами, такими как curl и поддержкой http_proxy переменная окружения в вашем приложении.

0 голосов
/ 15 января 2020

Запуск через рабочий прокси, я считаю, что это не соответствует. Многие программы ищут http_proxy, но другие используют свои собственные файлы конфигурации. Мне неизвестны какие-либо рекомендации по использованию, и это зависит от библиотеки, которую вы используете для доступа к net.

Если вы используете curl, API curl_easy_setopt(CURL *handle, CURLOPT_PROXY, char *proxy) говорит :

libcurl учитывает переменные окружения прокси с именами http_proxy, ftp_proxy, sftp_proxy et c. Если установлено, libcurl будет использовать указанный прокси для этой схемы URL. Так что для URL "FTP: //" рассматривается ftp_proxy. all_proxy используется, если не указан протокол c прокси.

Если установлено no_proxy (или NO_PROXY), это является точным эквивалентом установки параметра CURLOPT_NOPROXY.

CURLOPT_PROXY и CURLOPT_NROXX опции переопределяют переменные окружения.

0 голосов
/ 15 января 2020

Это должны быть переменные окружения для чтения curl http_proxy и настройки прокси, а не система linux.

0 голосов
/ 15 января 2020

From: https://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html

libcurl учитывает переменные окружения прокси с именами http_proxy, ftp_proxy, sftp_proxy et c. Если установлено, libcurl будет использовать указанный прокси для этой схемы URL. Так что для URL "FTP: //" рассматривается ftp_proxy. all_proxy используется, если не указан протокол c proxy.

Установка строки прокси на "" (пустая строка) явным образом отключит использование прокси, даже если для окружения установлена ​​переменная ит.

...