почему wget не использует имя пользователя и пароль в URL в первый раз

Ниже команда и ответ wget, Это сначала, время не использует введенное имя пользователя и пароль и добирается 401, позже это использует автора и добирается 200.

Это работает хорошо с вихревым но тем же самым, происходит через Почтальона также, что это явления и почему это происходит?

$> wget 'http://userName:password@host:port/v1/api'
--2018-08-31 16:06:01--  http://userName:password@host:port
Connecting to host:port... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authentication selected: Basic realm="myApp", API-Key realm="myApp"
Reusing existing connection to host:port.
HTTP request sent, awaiting response... 200 OK
Length: 146 [application/json]
Saving to: 'api'

api 100%[==================================================================================================================>]     146  --.-KB/s   in 0s

2018-08-31 16:06:01 (9.28 MB/s) - 'api' saved [146/146]
2
задан 31 August 2018 в 14:11

1 ответ

wget и большинство других программ запрашивает вызов стандартной аутентификации со стороны стороны сервера прежде, чем отправить учетные данные.

Это wgetповедение по умолчанию начиная с версии 1.10.2.
Можно изменить то использование поведения --auth-no-challenge опция:

Если эта опция будет дана, то Wget отправит Основную информацию об Аутентификации HTTP (имя пользователя простого текста и пароль) для всех запросов, точно так же, как Wget 1.10.2 и предшествующий сделал по умолчанию.

Использование этой опции не рекомендуется и предназначается только для поддержки нескольких неясных серверов, которые никогда не отправляют проблемы Аутентификации HTTP, но принимают незапрашиваемую подлинную информацию, скажем, в дополнение к основанной на форме аутентификации.


Это - общий рабочий процесс по умолчанию для Аутентификации HTTP:

enter image description here

Читайте больше об Аутентификации HTTP.

3
ответ дан 2 December 2019 в 02:42

Другие вопросы по тегам:

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