Как отучить платформу вставлять реквизит Proxy-Authorization?
Создаю HTTPЗапрос
В заголовок вставляю Authorization
Но при отправке платформа (8.3.23.1688) вставляет еще в заголовок почему-то еще и Proxy-Authorization, который мне вообще не нужен, из-за него возникает ошибка на сервере авторизации.
Ниже ответ сервера
<?xml version="1.0" encoding="UTF-8"?>
<userCheck version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<statusValue>401</statusValue>
<statusString>Unauthorized</statusString>
<isActivated>true</isActivated>
<lockStatus>unlock</lockStatus>
<unlockTime>0</unlockTime>
<retryLoginTime>4</retryLoginTime>
</userCheck>
В заголовок вставляю Authorization
Но при отправке платформа (8.3.23.1688) вставляет еще в заголовок почему-то еще и Proxy-Authorization, который мне вообще не нужен, из-за него возникает ошибка на сервере авторизации.
Ниже ответ сервера
<?xml version="1.0" encoding="UTF-8"?>
<userCheck version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<statusValue>401</statusValue>
<statusString>Unauthorized</statusString>
<isActivated>true</isActivated>
<lockStatus>unlock</lockStatus>
<unlockTime>0</unlockTime>
<retryLoginTime>4</retryLoginTime>
</userCheck>
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Файл inetcfg.txt в C:\Program Files\1cv83\bin\conf посмотри, что там есть.
Ещё проверь настройки не 1с, а там куда отправляешь, если есть возможность.
Proxy-Authorization -- если ты его не используешь, не нужно его указывать в 1с коде вообще.
Файл inetcfg.txt в C:\Program Files\1cv83\bin\conf посмотри, что там есть.
Ещё проверь настройки не 1с, а там куда отправляешь, если есть возможность.
Proxy-Authorization -- если ты его не используешь, не нужно его указывать в 1с коде вообще.
Этот же запрос работает в постмане, но только у него нет этого реквизита в заголовке ессено
Больше различий не нашел, пришел к выводу, что проблема в этом реквизите
Больше различий не нашел, пришел к выводу, что проблема в этом реквизите
(4) да, фидлером пользовался
загвоздка в методе авторизации md5? я вручную собираю запросы
так вот если в постмене ввести неверный пароль, к примеру, то ответ бутет аналогичным
запросы позже магу показать, сейчас нет под рукой
загвоздка в методе авторизации md5? я вручную собираю запросы
так вот если в постмене ввести неверный пароль, к примеру, то ответ бутет аналогичным
запросы позже магу показать, сейчас нет под рукой
вот заголовок, что показывает фиддлер
POST /ISAPI/AccessControl/AcsEvent?format=json HTTP/1.1
Host: 172.16.4.157
Proxy-Authorization: NTLM TlRMTVNTUAABAAAAB7IIogkACQAtAAAABQAFACgAAAAKAF1YAAAAD0tBTkFU V09SS0dST1VQ
User-Agent: 1C+Enterprise/8.3
Accept: */*
Connection: Keep-Alive
Content-Type: application/json
Accept-Encoding: gzip, deflate, br
Content-Length: 113
POST /ISAPI/AccessControl/AcsEvent?format=json HTTP/1.1
Host: 172.16.4.157
Proxy-Authorization: NTLM TlRMTVNTUAABAAAAB7IIogkACQAtAAAABQAFACgAAAAKAF1YAAAAD0tBTkFU
User-Agent: 1C+Enterprise/8.3
Accept: */*
Connection: Keep-Alive
Content-Type: application/json
Accept-Encoding: gzip, deflate, br
Content-Length: 113
(7)
Authorization: Digest username="admin", realm="DS-B28C756F", nonce="NDYxZDBmZmMyYmY4Zjg4MWUzM2YyODNiNzY3YzlhMTk=", uri="/ISAPI/AccessControl/AcsEvent?format=json", algorithm="MD5", qop=auth, nc=00000001, cnonce="4A682657", response="806679578393972f67f5beeb9edebf5b"
Authorization: Digest username="admin", realm="DS-B28C756F", nonce="NDYxZDBmZmMyYmY4Zjg4MWUzM2YyODNiNzY3YzlhMTk=", uri="/ISAPI/AccessControl/AcsEvent?format=json", algorithm="MD5", qop=auth, nc=00000001, cnonce="4A682657", response="806679578393972f67f5beeb9edebf5b"
(9) это кусок заголовка
еще раз
вся разница между постменом и 1с, если смотреть через фиддлер, то разница только во вкладке Auth
постмен:
No Proxy-Authorization Header is present.
No Authorization Header is present.
1с
Proxy-Authorization Header is present: NTLM
4E 54 4C 4D 53 53 50 00 01 00 00 00 07 B2 08 A2 NTLMSSP......².¢
09 00 09 00 2D 00 00 00 05 00 05 00 28 00 00 00 ....-.......(...
0A 00 5D 58 00 00 00 0F 4B 41 4E 41 54 57 4F 52 ..]X....KANATWOR
4B 47 52 4F 55 50 KGROUP
-[NTLM Type1: Negotiation]------------------------------
Provider: NTLMSSP
Type: 1
OS Version: 10.0:22621
Flags: 0xa208b207
Unicode supported in security buffer.
OEM strings supported in security buffer.
Request server's authentication realm included in Type2 reply.
NTLM authentication.
Client workstation domain provided. Server can determine if the client eligible for local authentication.
Client workstation name provided. Server can determine if the client eligible for local authentication.
Negotiate Always Sign.
Negotiate NTLM2 Key.
Supports 56-bit encryption.
Supports 128-bit encryption.
Domain_Offset: 45; Domain_Length: 9; Domain_Length2: 9
Host_Offset: 40; Host_Length: 5; Host_Length2: 5
Host: KANAT
Domain: WORKGROUP
------------------------------------
No Authorization Header is present.
еще раз
вся разница между постменом и 1с, если смотреть через фиддлер, то разница только во вкладке Auth
постмен:
No Proxy-Authorization Header is present.
No Authorization Header is present.
1с
Proxy-Authorization Header is present: NTLM
4E 54 4C 4D 53 53 50 00 01 00 00 00 07 B2 08 A2 NTLMSSP......².¢
09 00 09 00 2D 00 00 00 05 00 05 00 28 00 00 00 ....-.......(...
0A 00 5D 58 00 00 00 0F 4B 41 4E 41 54 57 4F 52 ..]X....KANATWOR
4B 47 52 4F 55 50 KGROUP
-[NTLM Type1: Negotiation]------------------------------
Provider: NTLMSSP
Type: 1
OS Version: 10.0:22621
Flags: 0xa208b207
Unicode supported in security buffer.
OEM strings supported in security buffer.
Request server's authentication realm included in Type2 reply.
NTLM authentication.
Client workstation domain provided. Server can determine if the client eligible for local authentication.
Client workstation name provided. Server can determine if the client eligible for local authentication.
Negotiate Always Sign.
Negotiate NTLM2 Key.
Supports 56-bit encryption.
Supports 128-bit encryption.
Domain_Offset: 45; Domain_Length: 9; Domain_Length2: 9
Host_Offset: 40; Host_Length: 5; Host_Length2: 5
Host: KANAT
Domain: WORKGROUP
------------------------------------
No Authorization Header is present.
(11) кстати роу отправка идентичные
HTTP/1.1 401 Unauthorized
Date: Mon, 10 Jun 2024 14:46:03 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Length: 235
Connection: keep-alive
Keep-Alive: timeout=5, max=99
WWW-Authenticate: Digest qop="auth", realm="DS-B28C756F", nonce="YzU1ZTBlOWY5YjI5YjVhZTg4YzljMjI0NGYwZmU5MWU=", stale="false", opaque="", domain="::"
Content-Type: application/json
<?xml version="1.0" encoding="UTF-8"?>
<userCheck version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<statusValue>401</statusValue>
<statusString>Unauthorized</statusString>
<isActivated>false</isActivated>
</userCheck>
HTTP/1.1 401 Unauthorized
Date: Mon, 10 Jun 2024 14:46:03 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Length: 235
Connection: keep-alive
Keep-Alive: timeout=5, max=99
WWW-Authenticate: Digest qop="auth", realm="DS-B28C756F", nonce="YzU1ZTBlOWY5YjI5YjVhZTg4YzljMjI0NGYwZmU5MWU=", stale="false", opaque="", domain="::"
Content-Type: application/json
<?xml version="1.0" encoding="UTF-8"?>
<userCheck version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<statusValue>401</statusValue>
<statusString>Unauthorized</statusString>
<isActivated>false</isActivated>
</userCheck>
(14) роу запросы
POST HTTP/1.1
Content-Type: application/json
Accept: */*
Postman-Token: 3bc6463b-2b8e-4074-a15b-97c9b275036e
Host: 172.16.4.157
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 121
{
"AcsEventCond": {
"maxResults": 30,
"searchID": "0",
"searchResultPosition": 26738,
"major": 5,
"minor": 75
}
}
POST HTTP/1.1
Host: 172.16.4.157
Proxy-Authorization: NTLM TlRMTVNTUAABAAAAB7IIogkACQAtAAAABQAFACgAAAAKAF1YAAAAD0tBTkFU V09SS0dST1VQ
User-Agent: 1C+Enterprise/8.3
Accept: */*
Connection: Keep-Alive
Content-Type: application/json
Content-Length: 113
{
"AcsEventCond": {
"maxResults": 30,
"searchID": "0",
"searchResultPosition": 26738,
"major": 5,
"minor": 75
}
}
POST HTTP/1.1
Content-Type: application/json
Accept: */*
Postman-Token: 3bc6463b-2b8e-4074-a15b-97c9b275036e
Host: 172.16.4.157
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 121
{
"AcsEventCond": {
"maxResults": 30,
"searchID": "0",
"searchResultPosition": 26738,
"major": 5,
"minor": 75
}
}
POST HTTP/1.1
Host: 172.16.4.157
Proxy-Authorization: NTLM TlRMTVNTUAABAAAAB7IIogkACQAtAAAABQAFACgAAAAKAF1YAAAAD0tBTkFU
User-Agent: 1C+Enterprise/8.3
Accept: */*
Connection: Keep-Alive
Content-Type: application/json
Content-Length: 113
{
"AcsEventCond": {
"maxResults": 30,
"searchID": "0",
"searchResultPosition": 26738,
"major": 5,
"minor": 75
}
}
(15) Content-Length вы сами устанавливаете? Удалите установку этого заголовка.
Платформа сама его установит правильно.
Сейчас же получается, что у вас не корректно задан размер сообщения, и сервер при получении его обрабатывает не верно.
Платформа сама его установит правильно.
Сейчас же получается, что у вас не корректно задан размер сообщения, и сервер при получении его обрабатывает не верно.
(20) код прост, но имхо важнее версия платформы 8.3.23.1688 и винды 10.0.22631.3593. пробовал включать/выкл прокси как в винде так и в самом соединении. все бес толку
HTTPЗапрос = Новый HTTPЗапрос("/ISAPI/AccessControl/AcsEvent?format=json", Заголовки());
HTTPЗапрос.УстановитьТелоИзСтроки(ТелоИзСтроки);
HTTPСоединение = Новый HTTPСоединение(Объект.Сервер, Объект.Порт,,, , Объект.Таймаут,, Ложь);
функция Заголовки()
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("Accept-Encoding", "gzip, deflate, br");
Возврат Заголовки;
КонецФункции
HTTPЗапрос = Новый HTTPЗапрос("/ISAPI/AccessControl/AcsEvent?format=json", Заголовки());
HTTPЗапрос.УстановитьТелоИзСтроки(ТелоИзСтроки);
HTTPСоединение = Новый HTTPСоединение(Объект.Сервер, Объект.Порт,,, , Объект.Таймаут,, Ложь);
функция Заголовки()
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("Accept-Encoding", "gzip, deflate, br");
Возврат Заголовки;
КонецФункции
если попытаться к примеру вставить свой вариант
например Заголовки.Вставить("Proxy-Authorization", "none")
то вообще шаблон рвется = в заголовке теперь два Proxy-Authorization
например Заголовки.Вставить("Proxy-Authorization", "none")
то вообще шаблон рвется = в заголовке теперь два Proxy-Authorization
Прикрепленные файлы:
указал фиддлеру
oSession.oRequest.headers.Remove("Proxy-Authorization");
заработало норм
есть идеи как эту гадость убрать кодом 1с?
oSession.oRequest.headers.Remove("Proxy-Authorization");
заработало норм
есть идеи как эту гадость убрать кодом 1с?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
