Налаштування проксі-сервера для HTTP-запиту з використанням libcurl


0

Я досить новим для протоколів HTTP, що включають проксі та аутентифікацію. Я працюю над програмою, яка запускається у Windows, і використовує мережу хосту для надсилання / отримання запитів HTTP / S. Він також використовує Libcurl, щоб допомогти передачі.

Тим не менш, у мене є кілька питань, коли я повинен використовувати проксі. Оскільки я в мережі, у мене є проксі, визначений для певних URL-адрес з файлом PAC. Оскільки Libcurl не підтримує Javascript, я використовую PACParser для аналізу файлу PAC і визначення проксі-сервера.

Коли я використовую проксі, я отримую 407 аутентифікації. Я не знаю, як подолати автентифікацію проксі. Я спробував різні доступні налаштування з CURL як BASIC / DIGEST / NTLM. Ніхто з них не працює. Але якщо я жорстко кодую ім'я користувача і пароль у запиті, то бачу, що запит проходить.

Як я можу уникнути жорсткого кодування імені користувача та пароля, а також переконайтеся, що використання проксі буде працювати?

Відповіді:


0

Подивитися libcurl-tutorial (3), розділ Змінні середовища :

libcurl automatically checks and uses a set of environment
variables to know what proxies to use for certain
protocols. The names of the variables are following an
ancient de facto standard and are built up
as "[protocol]_proxy" (note the lower casing). Which makes
the variable 'http_proxy' checked for a name of a proxy to
use when the input URL is HTTP. Following the same rule, the
variable named 'ftp_proxy' is checked for FTP URLs. Again,
the proxies are always HTTP proxies, the different names of
the variables simply allows different HTTP proxies to be
used.

The proxy environment variable contents should be in the
format "[protocol://][user:password@]machine[:port]".

Таким чином, вам доведеться ввести проксі в налаштуваннях змінної середовища, а не в налаштуваннях мережі.


Але я намагаюся зрозуміти спосіб досягнення автентичності proxy, якщо мій проксі мандат один.
linux developer

додавання user:password@ не працює?
artistoex

я припускав, що Curl може обговорити з хост-машиною, щоб отримати ім'я користувача і пароль під час передачі. Це те, що нам потрібно для отримання імені користувача та пароля? & lt; b & gt; Я намагався вивчити winhttp "http запит варіант", щоб отримати ім'я користувача і PWD. Це щось правильне напрямок Або Є інший механізм для отримання імені користувача та пароля проксі
linux developer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.